当我运行 emu8086 时,这个结果(和)返回给我 0 ..为什么?
data segment
ans dw ?
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
mov ax,@data
mov dx,ax
mov ax,2
mov bl,2
mul bl
mov ans,ax
mov ax, 4c00h
int 21h
ends
end start
mov ax,@data
mov dx,ax
这部分代码必须设置DS
段寄存器。
你写错了DX
反而!
mov ax, @data
mov ds, ax
由于此错误,您的结果AL
* BL
乘法(4)仍然被写入内存中mov ans,ax
但它没有成功数据段。它会覆盖程序段前缀的第一个字,因为那是DS
正在指着。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)