第八章、高级过程

8.1、引言

8.2、堆栈帧

8.2.1、堆栈参数

8.2.2、寄存器参数的缺点

8.2.3、访问堆栈参数

8.2.4、32位调用规范

8.2.5、局部变量

8.2.6、引用参数

8.2.7、LEA指令

8.2.8、ENTER和LEAVE指令

8.2.9、LOCAL伪指令

8.2.10、Microsoft X64调用规范

8.2.11、本节回顾

8.3、递归

8.3.1、递归求和

8.3.2、计算阶乘

8.3.3、本节回顾

8.4、INVOKE、Addr、PROC和PROTO

8.4.1、INVOKE伪指令

8.4.2、ADDR运算符

8.4.3、PROC伪指令

8.4.4、PROTO伪指令

8.4.5、参数类别

8.4.6、示例:交换两个整数

8.4.7、调试提示

8.4.8、WriteStackFrame过程

8.4.9、本节回顾

8.5、新建多模块程序

8.5.1、隐藏和导出过程名

8.5.2、调用外部过程

8.5.3、跨模块使用变量和标号

8.5.4、示例: ArraySum程序

8.5.5、用 Extern新建模块

8.5.6、用INVOKE和PROTO新建模块

8.5.7、本节回顾

8.6、参数的高级用法(可选主题)

8.6.1、受USES运算符影响的堆栈

8.6.2、向堆栈传递8位和16位参数

8.6.3、传递64位参数

8.6.4、非双字局部变量

8.7、Java字节码(可选主题)

8.7.1、Java虚拟机

8.7.2、指令集

8.7.3、Java反汇编示例

8.7.4、示例:条件分支

8.8、本章小结

8.9、关键术语

8.9.1、术语

8.9.2、指令、运算符和伪指令

8.10、复习题和练习

8.10.1、简答题

8.10.2、算法基础

8.11、编程练习