监测点10.5
assume cs:codestack segment
dw 8 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ds,ax
mov ax,0
call word ptr ds:
inc ax
inc ax
inc ax
mov ax,4c00h
int 21h
code ends
end start
这题问的是执行后ax的值。 为什么调试的时候IP的值我怎么看怎么不对。
CPU对这个程序到底是怎么执行的。
call指令下面的那条指令的IP(inc ax 的偏移地址)才是入栈的IP,因为ds与ss指的是同一段内存,所以call word ptr ds:就是call word ptr ss:, 也就是刚入栈的ip(即,inc ax,程序跳到了这里),然后一直往下执行,共执行了3个inc ax, 所以,ax = 3 http://bbs.fishc.com/thread-15505-1-1.html 这里有习题答案,以及题目的解答! gone0308 发表于 2014-5-13 04:22 static/image/common/back.gif
这里有习题答案,以及题目的解答!
感激。。。。。。。 本帖最后由 www5956 于 2014-5-23 11:53 编辑
传说。 发表于 2014-5-13 23:16 static/image/common/back.gif
感激。。。。。。。
................................. www5956 发表于 2014-5-21 11:37 static/image/common/back.gif
狗垃圾挺会装比的嘛怒你妈废物的中国狗
这年头干啥都不容易。 灌水也要专业点啊。
页:
[1]