社区
贺利坚的课程社区_NO_3
汇编语言程序设计V
帖子详情
call 和 ret 的配合使用
迂者-贺利坚
烟台大学计算机学院教师
领域专家: 系统编程技术领域
2023-01-12 13:51:38
课时名称
课时知识点
call 和 ret 的配合使用
...全文
200
回复
打赏
收藏
call 和 ret 的配合使用
课时名称课时知识点call 和 ret 的配合使用
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
《汇编语言》(王爽)第10章_call_和_ret_指令
《汇编语言》(王爽)第10章_call_和_ret_指令《汇编语言》(王爽)第10章_call_和_ret_指令《汇编语言》(王爽)第10章_call_和_ret_指令
汇编语言-在线第8周1.pptx
汇编语言-在线第8周1.pptx
汇编语言:call和ret
配合
使用
设计模块化程序
call和ret指令
配合
使用
设计模块化程序,用栈传递参数这种技术和高级语言编译器的工作原理密切相关。bp(base pointer,基址指针)寄存器和 sp(stack pointer,栈顶指针)共同管理函数调用栈。bp 寄存器用于保存进入函数时的栈顶基址,用于作为正在运行的函数的栈帧的栈底,每一个函数都有自己的栈帧,函数栈帧的大小并不固定,一般与其对应函数的局部变量多少有关。函数运行过程中,其栈帧大小也是在不停变化的。而 sp 寄存器永远指向栈顶位置。
CALL和RET指令
CALL和RET指令ret和retfcall指令依据位移进行转移的call指令转移的目的地址在指令中的call指令转移地址在寄存器中的call指令转移地址在内存中的call指令call和ret
配合
使用
模块化程序设计 call和ret指令都是转移指令,它们都修改IP,或同时修改CS和IP,它们经常被同时用于实现子程序的设计 ret和retf ret指令用栈中的数据,修改IP的内容,从而实现近转移 retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移 如果我们用汇编语法来解释ret和retf指令,则:
call和ret指令
call和ret指令都是转移指令,它们都修改ip,或同时修改cs和ip。 1、ret和retf ret指令用栈中的数据修改ip的内容,从而实现近转移。 CPU执行ret指令时,进行下面两步操作: (ip)=((ss)*16+sp) (sp)=(sp)+2 相当于pop ip retf指令用栈中的数据修改cs和ip的内容,从而实现远转移 CPU执行retf指令时,进行操作...
贺利坚的课程社区_NO_3
1
社区成员
69
社区内容
发帖
与我相关
我的任务
贺利坚的课程社区_NO_3
烟台大学计算机学院教师,坚持教育情怀,持续进行教学改革。和学生并肩,与不良学风作斗争,为IT菜鸟建跑道,追求快乐与激情的大学。著书《逆袭大学:传给IT学子的正能量》,帮助迷茫中的大学生。
复制链接
扫一扫
分享
社区描述
烟台大学计算机学院教师,坚持教育情怀,持续进行教学改革。和学生并肩,与不良学风作斗争,为IT菜鸟建跑道,追求快乐与激情的大学。著书《逆袭大学:传给IT学子的正能量》,帮助迷茫中的大学生。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章