我的汇编指令又随便乱跳,不知道怎么跳的,不按正常顺序执行
代码:assume cs:code,ds:data
data segment
dd 1d4c0h
dw 4d2h
data ends
code segment
start:
mov ax,data
mov ds,ax
mov dx,ds:
mov ax,ds:
div word ptr ds:
mov ax,4c00h
int 21h
code ends
end start
我执行div指令后,在我这里,它跳到了f000:1060地址,按t执行一次,是iret指令,再执行一次,再次跳到了div指令那个地方
图片:
data segment
dd 1d4c0h
;dw 4d2h ; 4d2h 太小了
dw 0ffffh
data ends 人造人 发表于 2017-1-26 22:32
但是我调用的这个:
div word ptr ds:
是16位的
dw 4d2h
的4d2是一个16位的
怎么会太小了,我要用的值是4d2,难道我不可以用这种方式计算吗? clhjswe 发表于 2017-1-26 22:40
但是我调用的这个:
div word ptr ds:
是16位的
你先试试这个,看看还乱跳不?
如果不乱跳了,就说明是4d2h 太小了
data segment
dd 1d4c0h
;dw 4d2h ; 4d2h 太小了
dw 0ffffh
data ends 人造人 发表于 2017-1-26 23:11
你先试试这个,看看还乱跳不?
如果不乱跳了,就说明是4d2h 太小了
不乱跳了,但这样的话,就是说不能用这种方法? clhjswe 发表于 2017-1-26 23:32
不乱跳了,但这样的话,就是说不能用这种方法?
哦
页:
[1]