检测点过不了了,大家帮忙解答下!检测点10.4
本帖最后由 zkbutt 于 2013-7-24 16:49 编辑检测点10.4下面的程序执行后,ax中的数值为多少?内存地址 机器码 汇编指令 执行后情况1000:0 b8 06 00 mov ax,6 ax=6,ip指向1000:31000:3 ff d0 call ax pop ip,ip指向1000:61000:5 40 inc ax1000:6 58 mov bp,sp bp=sp=fffeh add ax,问题1:1000:3 行 执行后 答题中 POP IP是什么意思,不是应该PUSH ip吗?问题2:1000:6 行 执行后 答题中 bp=sp=fffeh SP是哪昌出来的,值不是没有告诉我们吗,我们不是只知道SP-2吗?
1、读取指令——>>IP自增——>>执行指令
IP = 5;pop ip & 修改ip = ax = 6
2、因为没有设置sp指令,系统默认0000h,-2 = …… az4121 发表于 2013-7-24 07:51
1、读取指令——>>IP自增——>>执行指令
IP = 5;pop ip & 修改ip = ax = 6
2、因为没有设置sp指令,系统 ...
谢谢 2我懂了 1 popip是哪来的 有没有问号?
如果有:100多条指令中,大部分是一步执行,少数要多步执行;pop ip是call自带的执行步骤,原因是目的操作数AX为16位,如果是32位的目的操作数,就有pop cs & pop ip步骤 保存返回地址 楼主~!第1000:3行处应该是push IP,把call指令执行后的第一个字节的IP入栈(sp-2),mov bp,sp就是把栈顶指针的地址sp的值赋予bp,当使用bp做偏移地址时,段地址默认在SS中,所以add ax,=(ax)+(ss:fffeh) SilverMagic 发表于 2013-7-24 10:26 static/image/common/back.gif
内存地址 机器码 汇编指令 执行后情况
1000:0 b8 06 00 mov ax,6 ;ax=6,i ...
谢谢你的解释,比答题好懂 检测点过不了了,大家帮忙解答下!检测点10.4 这个…………………… 这个我也糊涂啊,难道答案有问题?10.2 10.3 10.4,情况相同,请高手解答啊:mad: 我还没有学到—— pop ip,ip指向1000:6 1000:5呢?直接跳过,inc ax这条代码不走了? 学习学习再学习
页:
[1]