pdf文档 简明 X86 汇编语言教程

598.28 KB 63 页 0 评论
语言 格式 评分
中文(简体)
.pdf
3
摘要
简明 X86 汇编语言教程 原创:司徒彦南 2002 年 4 月 8 日 徐远超于 2010-02-25 收集整理 2010-03-10 第 2 次补充 2010-03-25 第 3 次补充 目录 第 Ο 章 写在前面...................................................................................................................2 第一章 汇编语言简介...
AI总结
### 总结 #### 可重入函数与非可重入函数 - **可重入函数**:不会使用全局变量或静态变量,保证线程安全。 - 例子:`strcpy`函数。 - **非可重入函数**:使用全局变量或静态变量,可能导致多线程环境下问题。 - 例子:`SwapChar`和`SwapChar2`函数。 #### 中断与系统调用 - **中断简介**:利用系统栈,栈操作是可重入的。 - **DOS中断**:示例`mov ax, 4c00h`和`int 21h`调用,带回错误代码。 - **Linux中断**:使用寄存器传递参数,例子`int 80h`,调用系统函数如`puts`。 #### 数据传输指令 - 用于在存储器、寄存器和I/O端口之间传送数据。 - 例子包括`mov`指令,如`mov ax, 1234h`和`mov bx, ax`。 #### 寄存器与寻址 - **寄存器结构**:16位、32位寄存器及其组合使用。 - **段偏移地址**:形成20位地址,段加1等同于偏移加16,示例地址转换。 - **练习**:将段和偏移转为20位地址,编写程序实现转换。 #### 函数调用与堆栈管理 - **调用函数**:通过压栈传递参数,使用`call`指令。 - **返回值**:通过寄存器返回,如Linux中`eax`。 - **堆栈操作**:`push`和`pop`指令示例,栈状态变化。 #### 编程实践与优化 - **实践程序**:经典`Hello, World`程序,展示数据段、代码段及执行流程。 - **优化思路**:预先计算、查表替代循环,示例`GetFactorial`函数改进。 - **汇编与高级语言**:结合使用内联汇编优化性能,注意语法和语义。 #### 结语 - **综上所述**:汇编语言在底层操作中的重要性,适合系统编程和优化。 - **展望**:后续内容将深入调试、优化和应用,包括安全和逆向工程等高级主题。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 56 页请下载阅读 -
文档评分
请文明评论,理性发言.