鱼C论坛

 找回密码
 立即注册
查看: 2453|回复: 7

关于(汇编49集call 和ret 的指令)里的一个疑问......急....急!!

[复制链接]
发表于 2012-7-4 21:43:05 | 显示全部楼层 |阅读模式
1鱼币
(1)call word ptr 内存单元地址
例题:
mov sp,10h
mov ax,0123h
mov ds:[0],ax
call word ptr ds:[0]
执行后 ip=0123h,sp=0eh
为什么sp是这个值呢,sp=10H时,如果栈是空的话,那么sp的值不应该是0ch吗?

(2)call dword ptr 内存单元地址   
例题
mov sp,10h
mov ax,0123h
mov ds:[0],ax
mov word ptr ds:[2],0
call dword ptr ds:[0]
执行后 cs=0,ip=0123,sp=0ch
为什么sp是0ch呀!cs,ip各占两个字节 共32位,那么在栈里不是占4个字节吗?怎么会是0ch这个结果呢
很纠结,希望各位大大路过懂得的就帮我解决下吧,我要急着往下学习!先谢谢各位大大了!!!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-4 22:11:32 | 显示全部楼层
(1)空的时候,指向10H
(2)c,d (IP),, e,f (CS)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-4 22:13:47 | 显示全部楼层
错了,PUSH 是往上的,那么第一题SP应该是6H啊,第二题是4H啊,,,,怎么LS的答案会那样,好纠结!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-4 22:20:14 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-4 22:33:38 | 显示全部楼层
本帖最后由 水之境界 于 2012-7-4 22:36 编辑

(1)
首先,10h不就是16d,0eh不就是14d,栈空时设置sp为16d;
然后,执行call word ptr ds:[0],相当于先执行一次push ip操作,push sp会-2就变成了0eh了,此时栈里面储存着现在ip的值。   再进行jmp word ptr ds:[0] ,ip 变成0123h

(2)
执行call dword ptr ds:[0],会进行两次push(入栈)操作,
push CS
push IP
sp的值就会递减两次,每次-2,16d-2d-2d = 12d = 0ch .
d表示十进制
h表示十六进制
楼主加油哦,我也是新手。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-4 22:45:38 | 显示全部楼层
水之境界 发表于 2012-7-4 22:33
(1)
首先,10h不就是16d,0eh不就是14d,栈空时设置sp为16d;
然后,执行call word ptr ds:[0],相当于 ...

sp一般都是用十六进制表示的,哪里晓得这里是要十进制的,它这里用的是10H, 我以为是11H,12H,13H,这样下去的,晕,都分不清楚了,菜鸟就是菜鸟呢,早知道是这样就不用头疼了,呵呵,谢谢好友的解释!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-4 22:50:33 | 显示全部楼层
315775569 发表于 2012-7-4 22:45
sp一般都是用十六进制表示的,哪里晓得这里是要十进制的,它这里用的是10H, 我以为是11H,12H,13 ...

加油加油,你还真厉害,新手就理解的那么深透了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-7-5 09:33:44 | 显示全部楼层
本帖最后由 水之境界 于 2012-7-5 09:36 编辑
315775569 发表于 2012-7-4 22:45
sp一般都是用十六进制表示的,哪里晓得这里是要十进制的,它这里用的是10H, 我以为是11H,12H,13 ...

十六进制是逢十六进1,每位数字从0~9和十进制的0~9一样,A,B,C,D,E,F表示10,11,12,13,14,15。
各种进制原理都是一样的。这里sp的确是十六进制,10h相当于十进制的16。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-20 09:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表