汇编中出现的问题,提示(130) cannot be evaluated: 533H*896

来源:百度知道 编辑:UC知道 时间:2024/06/01 14:05:33
(130) cannot be evaluated: 533H*896
(130) undefined variable or over 16 bits

以上为出错提示。
貌似是说超过位数了?
我的第130行源程序如下:
MOV AX,533H*896
如何在不改变上下段程序的基础上解决这个问题呢?

MOV AX,533H*896
AX是16位寄存器,533H*896显然大于2^16-1了
可以有如下两种方法:
用32位的寄存器EAX
可以用乘法指令
mov ax,533h
mov dx,896
mul dx
结果高16位在dx,低16位在ax中,估计你的源代码需要相应修改下,原因是已经不能直接用ax的内容进行判断了,需要融入dx一起判断~~

数值太大了
不改变上下段程序只有减小数值了

533H*896的结果超过16位,无法传送给AX,可以改为:
MOV AX,533H
MOV BX,896
MUL BX