汇编语言高级过程

< 上一页DAS指令 堆栈帧简介下一页 >

本章将介绍子程序调用的底层结构,重点集中于运行时堆栈。本章的内容对 C 和 C++ 程序员也是有价值的,因为在调试运行于操作系统或设备驱动程序层的底层子程序时,他们 也经常必须检查运行时堆栈的内容。

大多数现代编程语言在调用子程序之前都会把参数压入堆栈。反过来,子程序也常常把它们的局部变量压入堆栈。

本章还将讲解如何以数值或引用的形式来传递参数,如何定义和撤销局部变量,以及如何实现递归。最后介绍了 MASM 使用的不同的内存模式和语言标识符。参数既可以用寄存器传递也可以用堆栈传递。

本章内容:
1. 汇编语言堆栈帧简介
2. 汇编语言寄存器参数的缺点
3. 汇编语言访问堆栈参数详解
4. 常用32位编程调用规范简介
5. 汇编语言局部变量应用
6. 汇编语言引用参数简介
7. 汇编语言LEA指令:返回间接操作数的地址
8. 汇编语言ENTER和LEAVE指令:创建和结束堆栈帧
9. 汇编语言LOCAL伪指令:声明一个或多个变量名
10. 汇编语言Microsoft x64调用规范简介
11. 汇编语言递归及应用详解[附带实例]
12. 汇编语言INVOKE伪指令:将参数入栈并调用过程
13. 汇编语言ADDR运算符:传递指针参数
14. 汇编语言PROC伪指令:过程定义
15. 汇编语言PROTO伪指令:指定程序的外部过程
16. 汇编语言过程参数简介
17. 汇编语言WriteStackFrame过程:显示当前过程堆栈帧的内容
18. 汇编语言多模块程序简述
19. 汇编语言EXTERN伪指令:调用外部过程
20. 汇编语言跨模块使用变量和标号
21. 汇编语言用Extern伪指令新建模块[附带实例]
22. 汇编语言用INVOKE和PROTO新建模块
23. 汇编语言使用USES运算符注意事项
24. 汇编语言向堆栈传递8位和16位参数
25. 汇编语言32位模式下传递64位参数
26. 汇编语言非双字局部变量
27. Java虚拟机(JVM)工作原理
< 上一页DAS指令 堆栈帧简介下一页 >

爱面试的程序媛,一个分享面试经验的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,定时分享程序员面试的那点事。

面试如何造火箭?工作如何拧螺丝?都在这个公号哦。

扫描二维码关注公众号,免费领取价值 1000 元的求职面试资料(限时免费)!

当你决定关注「爱面试的程序媛」,你已然超越了90%的程序员!

爱面试的程序媛二维码
微信扫描二维码关注