检测点10.4的疑问
本帖最后由 qq646000130 于 2011-5-6 05:43 编辑检测点10.4
下面的程序执行后,AX中的数值为多少?
内存地址 机器码 汇编指令
1000:0 b8 06 00 mov ax,6
1000:2 ff d0 call ax
1000:5 40 inc ax
1000:6 mov bp,sp 请问一下,此时的SP是多少呢?CALL之前,又是多少呢?
add ax,
此问题已经解决,谢谢帮忙。 上机调试下看看。呵呵。 我觉得这个教程有点误导的意思。
(sp)=(sp)-2似乎不太好理解,不如写成sp=sp-2更加容易理解。因为实际上,就是SP的位置变了,为什么非要说内容变了呢? :Q还不是很明白,能不能在讲一讲 本帖最后由 tebi 于 2011-6-8 21:12 编辑
mov ax,6后,ax=6;call ax 时cs,ip如栈,由于cpu会改变ip的值,这次是ip=5(改变为执行指令的长度),跳过inc ax后ax=6,而mov bp,sp后【bp】指向ip所在的位置,add ax,相当于ax+ip=6+5=12=000bh tebi 发表于 2011-6-8 21:10 static/image/common/back.gif
mov ax,6后,ax=6;call ax 时cs,ip如栈,由于cpu会改变ip的值,这次是ip=5(改变为执行指令的长度),跳 ...
哈哈 明白了原来bp的默认段地址在ss中呀
页:
[1]