Próbuję dowiedzieć się, jak uzyskać liczbę elementów w stosie przez odjęcie rejestr sp z bp. Co ja robię źle? I dostać całkowicie błędne WynikNASM - Get liczbę elementów w stosie
MOV bp, 0x7E00
MOV sp, bp
PUSH 'A'
PUSH 'B'
PUSH 'C'
POP bx
MOV al, bl
CALL _printchar
POP bx
MOV al, bl
CALL _printchar
MOV bx, sp
SUB bx, bp
ADD bx, 48 ;To get ascii number
MOV al, bl
CALL _printchar
Jest to wyjście:
CB.
Czy możesz opublikować dane wyjściowe? –
@ 1.618 Dodałem wyjście –
Sugestia: nie umieszczaj określonego numeru w SP. Prosisz o katastrofę. Jeśli to działa dla ciebie; wspaniały. Istnieje milion innych (znacznie bezpieczniejszych) sposobów, aby dowiedzieć się, gdzie właściwie jest stos. Ponownie, jeśli to działa dla ciebie; duh; w porządku. Widzę wiele zmartwień. –