Я новый на этом языке и пытаюсь ознакомиться с этим. В этом примере я получаю ошибку «неправильная адресация», но что в этом плохого?Ошибка «неправильной адресации» при попытке конвертировать шестнадцатеричные в ascii
hextoasc proc near ; AX input, si point result storage address
push ax bx cx dx si di bp es
mov cx,00h
mov bx,0ah
hexloop1:
mov dx,0
div bx
add dl,'0'
push dx
inc cx
cmp ax, 0ah
jge hexloop1
add al, '0'
mov [si], al
hexloop2:
pop ax
inc si
mov [si], al
loop hexloop2
inc si
mov al, '$'
mov [si], al
pop es bp di si dx cx bx ax
ret
endp
Это моя ошибка:
спасибо так много! его работа сейчас – WorldOfEmre
Некоторые ассемблеры (например, FASM) поддерживают PUSH/POP как псевдооператоры с несколькими операндами, поэтому вы можете иногда сталкиваться с примерами этого синтаксиса. –
Существует также PUSHA/POPA, который толкает AX, CX, DX, BX, SP, BP, SI, DI в этом порядке и выталкивает их в обратном порядке (поэтому они восстанавливаются правильно) – Idloj