问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

汇编call的问题

发布网友 发布时间:2023-07-19 03:06

我来回答

2个回答

热心网友 时间:2024-11-28 20:34

这个问题我刚学习汇编的时候也是搞不清楚,下面我慢慢给你解释:
首先,你要明确有关CS:IP 的一些问题:1. CS:IP存储的是代码的地址,这个地址指向即将执行的代码。2. 那么CS:IP在什么时候指向即将执行的代码呢?举例如下:mov ax,78H mov bx ,24H 当 mov ax,78H 指令被读取之前,CS:IP 是指向它本省的,读取之后,IP 的值自动增加,增加多少呢?答曰:是指令mov ax,78H的长度,所以IP值自动增加后CS:IP指向下一条指令即:mov bx,24H。IP值自动增加之后,才执行本条指令(mov ax,78H)。3. 以你所说的例子进行分析:mov ax,0 call s inc ax s:pop ax 一共四条指令。执行完 mov ax,0 CS:IP=1000:3 读取指令 call s 后,CS:IP=1000:6也就是 指向 inc ax 指令的。
接下来,具体说说call s 指令的执行过程:上面说过,读取call s 指令后 CS:IP已经指向了 inc ax,可是我们现在不执行它,我们要跳转去执行用“s”标记的 pop ax 指令!!!于是call命令就先把当前执行的状态,也就是CS:IP值先存起来,放进栈中,到用的时候,再取出来(这里"取出来"可以理解为,恢复CS:IP的值,接着没有执行的往下继续执行!)。那这存起来的CS:IP 是多少呢?答曰:1000:6(指向 inc ax )所以这里的call s 指令相当于 push ip jmp near ptr s 即:把IP的值入栈,再跳转去执行s标记的pop ax 指令。
最后 是pop ax 指令的执行,我们根据上面可以知道在此指令之前IP入栈,所以出栈的是IP,并且把这个IP保存在ax 中,IP=6,所以ax=6。

补充:1.到底什么是子程序的偏移量?
偏移量=call 指令即将跳转至的子程序地址(子程序的第一个字节)减去 call 指令读取后 CS:IP指向的指令,在这里相当于s子程序的地址减去指令 inc ax 的地址。
2.call 命令还有一种形式:call far ptr 标号
它相当于:push cs
push ip
jmp far ptr 标号

中间的一些细节,说的不是太清楚,不懂得请继续提问!呵呵

热心网友 时间:2024-11-28 20:35

call就是调用一个函数,偏移是那个函数的地址和当前地址的差值
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
上市就跌的股票为什么 为什么新股都会暴跌 为什么新股上市都跌 身上有烧伤的伤疤怎么去除 石榴皮发霉还能吃吗?新鲜石榴的保存方法有哪些? 5岁上瑞思和英孚哪个好 瑞思和英孚哪个好?上过课后来说说各自的优缺点 瑞思和英孚哪个好?上过课后来分享各自的优缺点 怎么当历史老师 中学历史老师需求状况 我是个中学生,过年了,我想发个红包给个同学,但不知道给多少才有诚意,求... 王湾村车牌号是多少 王湾村位于哪里 为什么apple id account settings没有中国__ done sending account settings是什么意思 不同怎么迁移聊天记录? 搬新家有什么讲究和准备的?需要注意哪些事情 天谕1.0.100版本有哪些免费时装?名字与获得方式。谢谢 天谕游戏情侣名字,蝶恋花 | 花恋蝶 我不爱他,因为我心里早已有了一个我深爱的男人,但离开他我却很失落... 很爱她,却不能给她什么,总是想放弃,又不甘心、哎 《神藏传奇》txt全集下载 热血虽静默,侠骨也柔情是什么意思 大连大学提档率 大连大学专业分数线2022 大连大学分数线2023 小姑子做小三生了男孩婆婆就说给我让我们养过户我们名下 前提是我已经... 小三生的儿子 2022甘肃酒泉瓜州县事业单位报名入口 泡沫灭火系统月检内容不包括( )。 关于汇编call指令的请教 德国人是不是特别爱喝啤酒? 德国的女人为什么这么喜欢喝啤酒 明天2022年12月5日济南全面解封了吗 2022初中封校封多久 ...又难治好,又特别爱出汗,补钙吃虚汗停颗粒都没用,吃好多增强抵抗... 济南疫情会不会封校 儿童出虚汗怎么办,有什么办法调理吗? 2022年9月济南解封了吗 大学女单身青年,如何脱单? 晚上睡觉爱出虚汗 已经连着有10多天了 吃虚汗停也没有用 该怎么治疗呢... 2022年职业技术学院会封校吗? 虚汗停效果好吗? 养鱼造景要注意哪些问题 nba2k21手游王朝模式刷不出来姚明 nba2k17有姚明吗 nba2kol2姚明什么时候出 二零二二年长岭县新生儿多少人 nba2kol里姚明怎么得 nba2kol姚明怎么没了