assembly - 该问题与Assembly x86-32 RET n指令有关
问题描述
我知道 Ret n 的含义,但我不知道它在维护程序的运行时堆栈中的作用?我有点困惑。ret 与堆栈有关吗?
解决方案
ret n
就像ret
+ add esp, n
。您将它用于 caller-pops 调用约定。
平原ret
就好pop eip
。(pop eip
不是一个有效的指令,但它很好地表达了ret
它的作用)。是的,它使用堆栈;阅读文档。 http://felixcloutier.com/x86/RET.html(特别是“近回报”部分。)
“far ret”更复杂,但不用于具有平面内存模型的 32 位或 64 位代码。即在普通代码中根本不使用。
推荐阅读
- excel - 汇总表的值 - 唯一值和求和值
- google-sheets - 我需要使用宏将谷歌云翻译 API 集成到谷歌表格
- node.js - Dynamodb - 使用 IN 运算符 ['shirt','pant'] 获取所有项目,Js
- docker - Docker Container 使用不同的工具显示不同的 CPU 使用率
- typescript - 在类上实现时,接口属性不强制执行 getter 和 setter
- mysql - 由于在用户名的 fromt 中添加了空格,使用 python 子进程导入 mysqldump 访问权限失败
- vue.js - Vuejs缓存全局变量
- javascript - 对子目录中的 .js 文件使用 require() 时出现 MODULE_NOT_FOUND 错误
- python - 标题中的图片使用 python-docx 隐藏 docx 中的第一张图片
- selenium - 如何使用 selenium webdriver 获取“li”元素列表的计数?