查看: 79|回复: 0

汇编语言程序设计(十)call和ret指令

[复制链接]

0

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-5-7
发表于 2022-5-25 20:32:00 | 显示全部楼层 |阅读模式

目录
  • 引言
  • ret和retf指令
    • ret指令
    • retf指令
  • call指令
    • 用法:call 标号
    • call far ptr 标号
    • call 16位寄存器
    • 转移地址在内存中call指令
      • call word ptr 内存地址单元
      • call dword ptr 内存地址单元
  • mul指令
  • call与ret联合使用
    • 批量数据的传递
  • 寄存器冲突的问题

引言

  • call和ret都是转移指令,它们都修改IP,或者同时修改CS和IP

ret和retf指令

  • ret和retf都是利用栈中数据来重新填充IP(CS)。

批量数据的传递

  • 如果子程序只有少量参数需要传递,那么用寄存器来传递即可,但是如果由很多个参数呢?返回值也有可能很多个?在这种时候,需要将批量数据放到内存中,然后将它们所在内存空间的首地址放在寄存器中,传递给需要的子程序,对于返回值也可以用这种方法。
  • 除了寄存器,内存传递参数外,还有一种通用的方法,即使用栈来传递参数。

寄存器冲突的问题

  • 不看了


来源:https://www.cnblogs.com/chkplusplus/p/16310719.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部