首页 > 汇编语言 阅读:1,207

汇编语言入门教程:汇编语言程序设计指南(精讲版)

汇编语言入门教程封面图标汇编语言是一种最低级、最古老、不具有移植性的编程语言,它能够直接访问计算机硬件,所以执行效率极高,占用资源极少,一般用于嵌入式设备、驱动程序、实时应用、核心算法等。

汇编语言的缺点是开发周期特别长,实现一个简单的功能都非常麻烦,已经很少用来编写应用程序了。

这套汇编语言入门教程基于 Windows 32/64 位系统,讲解与 Intel 和 AMD 处理器相兼容的汇编语言程序设计,让大家认识机器的思维。

读者应该至少能够熟练使用一种高级程序设计语言,比如 JavaCPythonC++ 等,直接学习汇编语言将非常吃力。

优质学习资源推荐:汇编语言入门教程简明版(阮一峰博客)汇编语言程序设计视频教程(百度云下载)
第1章 汇编语言基本概念简介
1.汇编语言是什么
2.汇编语言的应用
3.虚拟机是什么
4.汇编语言的数据表示
5.二进制整数
6.二进制加法运算
7.字节(byte)
8.十六进制整数
9.补码及进制转换
10.二进制减法运算
11.字符在计算机中是如何表示的
12.汇编语言布尔表达式
第2章 x86处理器架构
1.CPU处理器架构
2.32位x86处理器架构
3.x86-64处理器架构
4.x86计算机组件
5.I/O输入输出系统
第3章 汇编语言基础
1.第一个汇编语言程序
2.汇编语言常量
3.汇编语言保留字
4.汇编语言标识符
5.汇编语言伪指令
6.汇编语言指令
7.汇编语言整数加减法示例
8.汇编器
9.数据类型以及数据定义
10.等号伪指令
11.计算数组和字符串长度
12.EQU伪指令
13.TEXTEQU伪指令
14.汇编语言64位编程
第4章 数据操作相关运算符和指令
1.操作数类型
2.MOV指令
3.MOVZX和MOVSX指令
4.LAHF和SAHF指令
5.XCHG指令
6.直接偏移量操作数
7.汇编语言数据传送示例
8.加法和减法详解
9.OFFSET运算符
10.ALIGN伪指令
11.PTR运算符
12.TYPE运算符
13.LENGTHOF运算符
14.LABEL伪指令
15.间接寻址
16.JMP和LOOP指令
17.64位MOV指令
18.64位加法和减法
第5章 汇编语言过程
1.汇编语言堆栈简介
2.汇编语言运行时堆栈
3.PUSH和POP指令
4.PROC和ENDP伪指令
5.CALL和RET指令
6.过程调用嵌套
7.示例:整数数组求和
8.USES运算符
9.链接库简介
10.Irvine32链接库
11.Irvine32链接库过程详细说明
12.Irvine64链接库
第6章 汇编语言条件判断
1.布尔和比较指令简介
2.AND指令
3.OR指令
4.位向量(位映射)
5.XOR指令
6.NOT(反码)指令
7.TEST指令
8.CMP(比较)指令
9.置位和清除单个CPU标志位
10.64位模式下的布尔指令
11.条件跳转简介
12.条件跳转指令汇总
13.条件跳转应用及示例
14.LOOPZ和LOOPE指令
15.LOOPNZ和LOOPNE指令
16.使用汇编语言实现IF语句
17.使用汇编语言实现逻辑表达式
18.使用汇编语言实现WHILE循环
19.表驱动选择
20.有限状态机
21.条件控制流伪指令
22..IF、.ELSE、.ELSEIF、.ENDIF伪指令
23.用.REPEAT和.WHILE实现循环
第7章 汇编语言整数运算
1.移位和循环移位指令简介
2.SHL(左移)指令
3.SHR(右移)指令
4.SAL和SAR指令
5.ROL(循环左移)指令
6.ROR(循环右移)指令
7.RCL和RCR指令
8.SHLD和SHRD指令
9.移位和循环移位的应用
10.MUL指令
11.IMUL指令
12.GetMseconds:测量程序执行时间
13.DIV指令
14.IDICV指令
15.使用汇编语言实现算术表达式
16.ADC指令
17.SBB指令
18.ASCII和非压缩十进制运算
19.AAA指令
20.AAS指令
21.AAM和AAD指令
22.压缩十进制运算简介
23.DAA指令
24.DAS指令
第8章 汇编语言高级过程
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虚拟机工作原理
第9章 汇编语言字符串和数组
1.字符串基本指令简介
2.MOVSB、MOVSW和MOVSD指令
3.CMPSB、CMPSW和CMPSD指令
4.SCASB、SCASW和SCASD指令
5.STOSB、STOSW和STOSD指令
6.LODSB、LODSW和LODSD指令
7.Irvine32字符串过程
8.Irivne64字符串过程
9.二维数组简介
10.冒泡排序简述
11.对半查找简述
12.Java字符串处理
第10章 汇编语言结构和宏
1.STRUCT和ENDS伪指令
2.声明结构变量
3.TYPE和SIZEOF运算符
4.实例:显示系统时间
5.结构嵌套简述
6.联合的声明和使用
7.宏过程简述
8.MACRO和ENDM伪指令
9.宏的调用简述
10.宏的特性
11.Macro宏库详解
12.实例:封装器
13.条件汇编伪指令简述
14.IFB和IFNB伪指令
15.宏默认值设定及布尔表达式简述
16.IF、ELSE和DENDIF伪指令
17.IFIDN和IFIDNI伪指令
18.实例:矩阵行求和
19.&、<>、!、%运算符简述
20.宏函数
21.使用WHILE、REPEAT、FOR 和 FORC伪指令定义重复语句块
第11章 汇编语言MS-Windows编程
1.MS-Windows编程简述
2.Win32控制台函数简述
3.MessageBoxA函数
4.ReadConsole函数