Witam. Piszę sobie programik w assemblerze i natrafiłem na pewien dziwny problem. W pewnym momencie po modyfikacji, rekompilacji i uruchomieniu programu dostaję błąd, że instrukcja jest niedozwolona. Debugger w dłoń i sprawdzam. I co widzę? Coś takiego:
Tyle, że mój fragment kodu wygląda tak:
lea si, outputbuf
add si, 15
lea bx, mantissa1
add bx, 7
mov cx, 7
composeloop:
mov al, byte ptr [bx]
and al, 15
mov byte ptr [si], al
dec si
mov al, byte ptr [bx]
and al, 240
shr al, 4
A co chodzi? Jakie błędy mogą powodować takie dziwactwa?