汇编语言中的call是什么意思?

刚刚看到一个朋友写的病毒分析报告中,有这样一行00409917.E9D2010000jmp00409AEE;这个jmp跳到后面一个地方然后又call了回来应该是为了获得c... 刚刚看到一个朋友写的病毒分析报告中,有这样一行00409917 . E9 D2010000 jmp 00409AEE ;这个jmp跳到后面 一个地方 然后又call了回来 应该是为了获得call函数下条指令的地址吧 ;这句话大概是什么意思,我对汇编懂得不多,新手入门 展开
 我来答
zhxiufan
2015-05-29 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38384
国家科技进步奖

向TA提问 私信TA
展开全部
汇编语言中CALL指令调用一个子程序,CPU执行call指令,进行两步操作:
(1)将当前的 IP 或 CS和IP 压入栈中;
(2)转移到紧跟的标号行地址执行程序。
比如:
CALL InputCheck
........
InputCheck:
........
其处理步骤如下:
(1) (sp) = (sp) – 2
((ss) ×16+(sp)) = (CS)
(sp) = (sp) – 2
((ss) ×16+(sp)) = (IP)
(2) (CS) = InputCheck所在的段地址
(IP) = InputCheck所在的偏移地址
天夙风
2012-05-21 · 超过16用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:46.8万
展开全部
JMP是转移指令,转到JMP后面写的地址
CALL也是转移的效果,转到CALL之后写的标识符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不想堕落大学里
2012-05-21
知道答主
回答量:32
采纳率:0%
帮助的人:16.6万
展开全部
call 标号 ;转移到标号处,但在转移之前将ip/cs和ip入栈
;即push ip jmp near ptr 标号/push cs push ip jmp far ptr 标号
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式