我收到此错误。 “指令操作数必须大小相同
我相信这与变量“选择”的大小有关
.data
choice BYTE ?
mov choice, eax ; error on this line
call Crlf
ret
DisplayMenu ENDP
DisplayOpr PROC USES edx
mov eax, choice ; error on this line
该如何解决此错误?
答案 0 :(得分:0)
寄存器eax
的长度为32位,而choice
仅为单个BYTE
(即8位)。
您可以这样声明choice
,使其长度为32位:
choice DD 0AABBCCDDh
或者,如果choice
应该是一个字节长,则可以使用8位部分寄存器al
,它是指寄存器EAX
的最低有效字节:
mov al, choice