【发布时间】:2020-09-07 02:46:14
【问题描述】:
我尝试了最基本的指令“mov ax,B006H”并收到错误消息
【问题讨论】:
-
我假设 A000H 不起作用,并且您的意思是大于或等于 A000h 的 16 位值。规则是,如果您使用
h后缀来表示十六进制数,并且值以 A、B、C、D、E、F 开头,则十六进制数必须以 0 开头。基本上,如果您有一个 Hex以字母开头的数字(并使用h后缀),您必须在开头添加 0。 -
它不仅仅适用于 16 位数字。对于最高位为 Ato F 的情况,如果不在开头添加额外的 0,汇编程序将无法知道
mov al, ch是否意味着将寄存器 CH 移动到 AL 或者您是否意味着将十六进制值c(十进制的 12 ) 到 AL。为此,您必须写mov al, 0ch。 -
错误信息告诉你到底是什么问题。