怎么调用CALL 使CALL在堆栈里不平衡
答案:2 悬赏:40 手机版
解决时间 2021-03-04 10:52
- 提问者网友:一抹荒凉废墟
- 2021-03-04 05:09
怎么调用CALL 使CALL在堆栈里不平衡
最佳答案
- 五星知识达人网友:从此江山别
- 2021-03-04 06:25
中断INT过程:
1.取得中断类型码
2.把标志位压入栈中
3.把CS压入栈中
4.把IP压入栈中
5.更改CS和IP,转到中断程序
CALL:将当前IP或者CS和IP压入栈中,到底是把IP还是IP和CS压入栈中。就要看CALL后到底是一个字还是2个字的,如果是一个字的,就只把IP压入栈中,例如CALL AX;如果是两个字,就先把CS压入有栈中,再把IP压入栈中,例如CALL dword ptr 内存单元地址
希望对你有帮助!
1.取得中断类型码
2.把标志位压入栈中
3.把CS压入栈中
4.把IP压入栈中
5.更改CS和IP,转到中断程序
CALL:将当前IP或者CS和IP压入栈中,到底是把IP还是IP和CS压入栈中。就要看CALL后到底是一个字还是2个字的,如果是一个字的,就只把IP压入栈中,例如CALL AX;如果是两个字,就先把CS压入有栈中,再把IP压入栈中,例如CALL dword ptr 内存单元地址
希望对你有帮助!
全部回答
- 1楼网友:第四晚心情
- 2021-03-04 07:03
call指令段内调用将指令指针ip入栈,段间调用先入栈段基址cs,再入栈ip。call调用ret返回再讲地址弹出,相关变量值改变。而int指令要先将flags(状态标志位)入栈,再将cs入栈,再将ip入栈,然后还要将相关寄存器值入栈,iret返回后,相关寄存器的值不发生变化。不知我有没有将call和int指令内容给你讲明白,不明白再问哈
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯