У меня есть следующая простая программа, написанная на MASM для процессора i386:
TITLE BLA
.MODEL SMALL
.386
.STACK
.DATA
.CODE
MAIN PROC FAR
.STARTUP
MOV EBX,0FFFFFFFFH; (1)
MOV EAX,0EEEEEEEEH; (2)
.EXIT
MAIN ENDP
END
Я запутался в поведении регистра EBX.После инструкции (1) EBX устанавливается на 1 с:
Выполнение инструкции (2) не только загружает значение в EAX,но также обнуляет верхнюю половину EBX:
Почему это действительно происходит?