汇编 CALL和RET指令
1 ret 和 retf
call 和 ret 指令都是转移指令,他们都修改ip,或同时修改cs和ip,他们经常被共同用来实现子程序的设计。
ret
:该指令用栈中的数据,修改ip
的内容,从而实现近转移
。CPU执行ret指令时,进行下面两步操作 (1) (IP)=((ss)*16+(sp)) (2) (sp)=(sp)+2相当于: pop IP
retf
:该指令用栈中的数据,修改cs
和ip
的内容,从而实现远转移
。CPU执行retf指令时,进行下面4步操作: (1) (IP)=((ss)*16+(sp)) (2) (sp)=(sp)+2 (3) (cs)=((ss)*16+(sp)) (4) (sp)=(sp)+2相当于: pop IP pop CS
2 call 指令
call 标号(将当前的IP压栈后,转到标号处指令指令)
CPU 执行此种格式的call时,进行如下操作
(1) (sp)=(sp)-2((ss)*16+(sp))=(IP)
(2) (IP)=(IP)+16位位移“call 标号”时 相当于:
push IP
jmp near ptr 标号
汇编 CALL和RET指令相关推荐
- 汇编--call和ret指令
CALL和RET指令: RET指令 ret指令:用栈中的数据修改IP,从而实现近转移.使用ret时,相当于pop IP. retf指令:用栈中的数据修改CS和IP,从而实现远转移.相当于 pop ip ...
- x86汇编_CALL和RET指令及过程调用嵌套_笔记_20
CALL指令先把将来要返回的地址放入堆栈,再把即将被执行的过程的地址复制到指针寄存器上,当这个过程执行完要返回时,用RET指令将堆栈中存放的原来的地址放回指针寄存器上. CPU下一步执行哪些内容,是由 ...
- 汇编语言中RET指令的功能
通常作为一个子程序的最后一条指令,用以返回到调用子程序的断点处,即从堆栈弹出断电送往ip和cs寄存器.
- 汇编 第十章 call和ret指令
第十章 call和ret指令 call和ret指令都是转移指令,它们都能修改ip,或同时修改cs和ip 10.1 ret和retf 1.ret指令用栈中的数据,修改ip的内容,从而实现[近转移]CPU ...
- CALL和RET指令---汇编学习笔记
CALL和RET指令 call和ret指令都是转移指令,它们都修改IP,或同时修改CS和IP.它们经常被共同用来实现子程序的设计. 10.1 ret和retf ret指令用栈中的数据,修改IP的内容, ...
- arm汇编lr pc b bl ret指令函数调用和返回gif动图演示
文章目录 pc 寄存器 lr寄存器 (x30) ret返回指令 bl 跳转指令,带返回 b 跳转,不带返回 pc 寄存器 pc保存着当前指令执行的地址,相当于win32汇编里的eip寄存器 lr寄存器 ...
- 汇编中的call和ret指令
call和ret指令都是转移指令,它们都修改偏移地址或同时修改段地址和偏移地址.ret指令用栈中的数据,修改偏移地址,从而实现近转移.call可以通过位移和目的地址进行转移.下面来通过汇编代码学习一下 ...
- 汇编语言笔记10-CALL和RET指令
☞模块化程序设计 模块化程序设计 汇编语言通过call和ret指令实现了模块化程序设计.可以实现多个相互联系.功能独立的子程序来解决一个复杂的问题. 子程序的框架 1 assume cs:code 2 ...
- 汇编学习--7.16--int指令
int指令 中断信息可以来自CPU的内部和外部,当CPU的内部有需要处理的事情发生的时候,将产生需要马上处理的中断信息,引发中断过程. 上一章讲解了0号中断和单步中断,这一章将讲解另一种重要的内中断, ...
最新文章
- 您的连接不是私密连接
- 《软件构架实践》7-9章读后感
- 《系统集成项目管理工程师》必背100个知识点-73配置管理和变更管理
- 吴恩达 coursera ML 第九课总结+作业答案
- matlab impyramid,图像 – Matlab impyramid问题
- 论文浅尝 | 面向跨语言实体对齐的知识图谱与实体描述协同嵌入方法
- 2018 ACM-ICPC World Finals - Beijing F.Go with the Flow
- 数据结构上机实践第八周项目7—对称矩阵的压缩存储及基本运算
- 数据库中查询的各种连接(左连接,右连接,全连接,内连接,交叉连接,自连接)...
- win10下安装Cygwin配置gcc编译环境
- mysql子查询更改指定数据库_MySQL数据库update更新子查询
- .Net Micro Framework移植基础(包编译通过)
- Java设计模式超详细
- Delphi 监听安卓(Android)手机通知栏信息
- Another Redis Desktop Manager 链接redis,redis集群链接后用显示不全的问题
- 计算机网络---应用层
- 辣评10月自主SUV销量:优胜劣汰开始 哪些产品将死得其所?
- Ironic的安装那些事儿
- nodeName学习
- Python进行远程视频监控