MASM 6.11汇编语言应用PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:蔡友家著
- 出 版 社:北京:机械工业出版社
- 出版年份:1998
- ISBN:7111060881
- 页数:266 页
第1章 汇编语言介绍 1
1.1 机器语言与汇编语言 1
1.1.1 机器语言 1
1.1.2 机器指令 1
第1章 汇编语言介绍 1
1.1 机器语言与汇编语言 1
1.1.2 机器指令 1
1.1.1 机器语言 1
1.1.5 机器语言与汇编语言 2
1.1.4 汇编语言指令 2
1.1.3 汇编语言 2
1.1.3 汇编语言 2
1.1.4 汇编语言指令 2
1.1.5 机器语言与汇编语言 2
1.2 处理器与协处理器 3
1.2 处理器与协处理器 3
1.3 何时要使用汇编语言 4
1.4 操作系统(Operating System) 4
1.5 你需要的软件 4
1.3 何时要使用汇编语言 4
1.4 操作系统(Operating System) 4
1.5 你需要的软件 4
1.6.1 位(Bit)和字节(Byte) 5
1.6 计算机的数制 5
1.6.1 位(Bit)和字节(Byte) 5
1.6.2 Binary Number 5
1.6 计算机的数制 5
1.6.2 Binary Number 5
1.6.3 Hexadecimal Number 6
1.6.3 Hexadecimal Number 6
1.6.4.2 有符号数 7
1.6.4.1 无符号数 7
1.6.4.2 有符号数 7
1.6.4 有符号数与无符号数 7
1.6.4.1 无符号数 7
1.6.4 有符号数与无符号数 7
1.6.4.3 内存大小的计算 8
1.6.4.4 BCD码 8
1.7 字符存储格式 8
1.7 字符存储格式 8
1.6.4.4 BCD码 8
1.6.4.3 内存大小的计算 8
1.7.1 ASCII 9
1.7.1 ASCII 9
1.7.2 EBCDIC 9
1.7.2 EBCDIC 9
第2章 硬件与软件概念 10
2.1 与汇编语言关系密切的计算机硬件 10
2.2 CPU寄存器 10
2.2 CPU寄存器 10
2.1 与汇编语言关系密切的计算机硬件 10
第2章 硬件与软件概念 10
2.2.1 通用寄存器(General-Purpose Register)、段寄存器(Segment Register)和其它寄存器 11
2.2.2 段寄存器 11
2.2.2 段寄存器 11
2.2.1 通用寄存器(General-Purpose Register)、段寄存器(Segment Register)和其它寄存器 11
2.2.3 数据寄存器(又称通用寄存器) 12
2.2.3 数据寄存器(又称通用寄存器) 12
2.2.4 特殊寄存器 13
2.2.5 标志寄存器(EFL) 13
2.2.4 特殊寄存器 13
2.2.5 标志寄存器(EFL) 13
2.3 系统软件与内存 15
2.3 系统软件与内存 15
2.4 段寻址 16
2.4 段寻址 16
2.5 预处理符号 17
2.5 预处理符号 17
2.6.1 条件编译伪指令 19
2.6 条件伪指令 19
2.6.1 条件编译伪指令 19
2.6 条件伪指令 19
2.6.2 条件错误伪指令 20
2.6.2 条件错误伪指令 20
3.1 编译流程 21
3.1 编译流程 21
第3章 汇编语言程序 21
第3章 汇编语言程序 21
3.3.1 组织段 22
3.3 程序结构 22
3.2 执行程序 22
3.3 程序结构 22
3.2 执行程序 22
3.3.1 组织段 22
3.3.2 物理内存段(Physical Memory Segment) 23
3.3.3 逻辑段(Logical Segment) 23
3.4 使用简化段伪指令 23
3.3.3 逻辑段(Logical Segment) 23
3.3.2 物理内存段(Physical Memory Segment) 23
3.4 使用简化段伪指令 23
3.5 定义内存模式 25
3.5 定义内存模式 25
3.5.1 Small、Medium,、Compact、Large和Huge模式 26
3.5.3 Flat模式 26
3.5.2 Tiny模式 26
3.5.3 Flat模式 26
3.5.1 Small、Medium,、Compact、Large和Huge模式 26
3.5.2 Tiny模式 26
3.6 设置Stack Distance 27
3.7 指定处理器(Processor)和协处理器(Coprocessor) 27
3.8 建立Stack 27
3.9 建立数据(Data)段 27
3.9 建立数据(Data)段 27
3.7 指定处理器(Processor)和协处理器(Coprocessor) 27
3.8 建立Stack 27
3.6 设置Stack Distance 27
3.10.1 Near Code Segment 28
3.9.1 Near Data Segment 28
3.9.2 Far Data Segment 28
3.10 建立Code段 28
3.10.1 Near Code Segment 28
3.10.2 Far Code Segment 28
3.10.2 Far Code Segment 28
3.9.1 Near Data Segment 28
3.9.2 Far Data Segment 28
3.10 建立Code段 28
3.11 使用.STARTUP和.EXIT去开始和结束CODE 29
3.11 使用.STARTUP和.EXIT去开始和结束CODE 29
3.12.1操作数的形式限制 31
3.12 MOV指令 31
3.12 MOV指令 31
3.12.1操作数的形式限制 31
3.12.2 直接寻址 32
3.12.2 直接寻址 32
3.12.3 PTR运算符 33
3.12.3 PTR运算符 33
3.12.6 XCHG指令 34
3.12.5 SEG运算符 34
3.12.4 Offset运算符 34
3.12.6 XCHG指令 34
3.12.5 SEG运算符 34
3.12.4 Offset运算符 34
3.13 PUSH与POP指令 35
3.13 PUSH与POP指令 35
4.1.1 初始化缺省的段寄存器 36
4.1.2 指定和编译程序相关的段值 36
第4章 地址与指针 36
4.1 段的地址 36
4.1 段的地址 36
4.1.1 初始化缺省的段寄存器 36
4.1.2 指定和编译程序相关的段值 36
第4章 地址与指针 36
4.1.3 指定处理器相关的段值 37
4.1.3 指定处理器相关的段值 37
4.2.1 Near Code 38
4.2 近程与远程地址 38
4.2.1 Near Code 38
4.2.2 Far Code 38
4.2 近程与远程地址 38
4.2.2 Far Code 38
4.2.4 Far Data 39
4.2.3 Near Data 39
4.2.4 Far Data 39
4.2.3 Near Data 39
4.3 运算符(Operator) 40
4.3 运算符(Operator) 40
4.4 操作数(Operand) 41
4.4 操作数(Operand) 41
4.4.3 OFFSET运算符 42
4.4.4 SEG运算符 42
4.4.1 Register操作数 42
4.4.2 Immediate操作数 42
4.4.4 SEG运算符 42
4.4.3 OFFSET运算符 42
4.4.2 Immediate操作数 42
4.4.1 Register操作数 42
4.4.5 Direct Memory操作数 43
4.4.5 Direct Memory操作数 43
4.4.6.1 16位和32位寄存器间接操作数 44
4.4.6 Indirect Memory操作数 44
4.4.6 Indirect Memory操作数 44
4.4.6.1 16位和32位寄存器间接操作数 44
4.4.6.2 16位寄存器间接操作数 46
4.4.6.2 16位寄存器间接操作数 46
4.4.6.3 32位寄存器间接操作数 47
4.4.6.3 32位寄存器间接操作数 47
4.5.1 储存在堆栈的操作数 49
4.5 程序堆栈 49
4.5.1 储存在堆栈的操作数 49
4.5 程序堆栈 49
4.5.2 储存标志值至堆栈 50
4.5.3 存储在堆栈的寄存器值(80186~486 Only) 50
4.5.2 储存标志值至堆栈 50
4.5.3 存储在堆栈的寄存器值(80186~486 Only) 50
4.6 使用指针与地址存取数据 51
4.6 使用指针与地址存取数据 51
4.6.1 使用TYPEDEF定义指针变量 51
4.6.1 使用TYPEDEF定义指针变量 51
4.6.3 基本指针和地址运算 53
4.6.2 使用ASSUME定义寄存器型式 53
4.6.3 基本指针和地址运算 53
4.6.2 使用ASSUME定义寄存器型式 53
4.6.3.1 初始化指针变量 54
4.6.3.1 初始化指针变量 54
4.6.3.2 载入地址至寄存器 55
4.6.3.2 载入地址至寄存器 55
4.6.3.3 独立模式技巧 57
4.6.3.3 独立模式技巧 57
第5章 说明与使用数据类型 59
5.1 定义与使用简单数据类型 59
5.1.1 说明整型变量 59
5.1.2 配置整型变量的内存空间 59
5.1.2 配置整型变量的内存空间 59
5.1.1 说明整型变量 59
5.1 定义与使用简单数据类型 59
第5章 说明与使用数据类型 59
5.2.1 字符串和数组 61
5.1.4 使用简单变量 61
5.2 定义和使用复杂数据类型 61
5.2.1 字符串和数组 61
5.1.3 数据初值 61
5.1.4 使用简单变量 61
5.2 定义和使用复杂数据类型 61
5.1.3 数据初值 61
5.2.2 结构与联合(structure and union) 64
5.2.2 结构与联合(structure and union) 64
5.2.3 记录(Record) 73
5.2.3 记录(Record) 73
5.3 寻址未命名的项目 77
5.4 属性 77
5.4 属性 77
5.3 寻址未命名的项目 77
5.5 运算符 78
5.5 运算符 78
5.6 LABEL伪指令 79
5.6 LABEL伪指令 79
5.7 EQU伪指令 80
5.7 EQU伪指令 80
5.8 地址计数器:$和ORG伪指令 81
5.8 地址计数器:$和ORG伪指令 81
5.10 指定数字规则 83
5.9 变量命名规则 83
5.9 变量命名规则 83
5.10 指定数字规则 83
第6章 基本字符输出、输入 84
6.1 中断 84
6.1 中断 84
第6章 基本字符输出、输入 84
6.2 软硬件中断 85
6.3 INT指令 85
6.4 中断向量表(Interrupt Vector Table) 85
6.3 INT指令 85
6.2 软硬件中断 85
6.4 中断向量表(Interrupt Vector Table) 85
6.7 DOS Function Call 86
6.5 BIOS 86
6.6 DOS 86
6.5 BIOS 86
6.6 DOS 86
6.7 DOS Function Call 86
6.7.2 02H :输出字符至屏幕 87
6.7.1 01H :由键盘输入一字符且显示在屏幕上 87
6.7.2 02H :输出字符至屏幕 87
6.7.3 05H :打印机输出 87
6.7.3 05H :打印机输出 87
6.7.1 01H :由键盘输入一字符且显示在屏幕上 87
6.7.4 06H:控制台直接输出、输入 88
6.7.6 08H: 控制台直接输入且没有回送 88
6.7.5 07H :控制台直接输入且没有回送 88
6.7.4 06H:控制台直接输出、输入 88
6.7.5 07H :控制台直接输入且没有回送 88
6.7.6 08H: 控制台直接输入且没有回送 88
6.7.7 09H: 字符串输出 89
6.7.8 0AH: 字符串输入 89
6.7.7 09H: 字符串输出 89
6.7.8 0AH: 字符串输入 89
6.7.9 0BH: 键盘缓冲区状态 90
6.7.10 0CH: 清除键盘缓冲区,并等待输入 90
6.8 扩展码(Extended Code) 90
6.7.9 0BH: 键盘缓冲区状态 90
6.7.10 0CH: 清除键盘缓冲区,并等待输入 90
6.8 扩展码(Extended Code) 90
6.10 宏(Macro) 92
6.9 ASCII控制字符 92
6.9 ASCII控制字符 92
6.10 宏(Macro) 92
6.10.1 宏过程(Macro Procedure) 93
6.10.1 宏过程(Macro Procedure) 93
6.10.3 传参数给宏 94
6.10.2 建立宏过程 94
6.10.2 建立宏过程 94
6.10.3 传参数给宏 94
6.10.4 指定需要或缺省的参数 95
6.10.4 指定需要或缺省的参数 95
6.11 显示方式(BIOS INT 10H ) 100
6.11 显示方式(BIOS INT 10H ) 100
6.11.2 显示页 101
6.11.1 显示方式 101
6.11.1 显示方式 101
6.11.2 显示页 101
6.11.3 文本方式的字符显示 106
6.11.4 文本方式的字符对映方式 106
6.11.4 文本方式的字符对映方式 106
6.11.3 文本方式的字符显示 106
6.11.5 文本方式的字符属性 107
6.11.5 文本方式的字符属性 107
6.12 INCLUDE指令 111
6.12 INCLUDE指令 111
7.1.1 ADD、ADC和INC指令 114
7.1.1 ADD、ADC和INC指令 114
7.1 加法运算指令 114
第7章 算术运算指令 114
第7章 算术运算指令 114
7.1 加法运算指令 114
7.1.2 ADD和ADC对标志的影响 115
7.1.2 ADD和ADC对标志的影响 115
7.1.3 INC对标志的影响 117
7.1.3 INC对标志的影响 117
7.2 减法运算指令 117
7.2.1 SUB、SBB和DEC指令 117
7.2 减法运算指令 117
7.2.1 SUB、SBB和DEC指令 117
7.2.2 NEG指令 121
7.2.2 NEG指令 121
7.3 乘法运算指令 122
7.3 乘法运算指令 122
7.4 除法运算指令 124
7.4 除法运算指令 124
7.5 CBW、CWD、CDQ和CWDE指令 125
7.5 CBW、CWD、CDQ和CWDE指令 125
7.6 十进制数字 128
7.6 十进制数字 128
7.6.1 非压缩式BCD数字 129
7.6.1 非压缩式BCD数字 129
7.6.2 压缩式BCD数字 132
7.6.2 压缩式BCD数字 132
7.7 逻辑指令 133
7.7 逻辑指令 133
7.7.1 AND指令 134
7.7.2 OR指令 134
7.7.2 OR指令 134
7.7.1 AND指令 134
7.7.4 NOT指令 135
7.7.3 XOR指令 135
7.7.4 NOT指令 135
7.7.3 XOR指令 135
7.7.5 TEST指令 136
7.7.5 TEST指令 136
7.8.1 SHL指令 137
7.8 移位和循环移位指令 137
7.8.1 SHL指令 137
7.8 移位和循环移位指令 137
7.8.3 SAL、SAR指令 138
7.8.2 SHR指令 138
7.8.3 SAL、SAR指令 138
7.8.2 SHR指令 138
7.8.5 ROR指令 139
7.8.4 ROL指令 139
7.8.5 ROR指令 139
7.8.4 ROL指令 139
7.8.6 RCL指令 140
7.8.7 RCR指令 140
7.8.6 RCL指令 140
7.8.7 RCR指令 140
第8章 子程序 141
8.1子程序介绍 141
8.1子程序介绍 141
第8章 子程序 141
8.2 定义子程序 142
8.2.1 PROC与ENDP伪指令 142
8.2.2 RET指令 142
8.2 定义子程序 142
8.2.3 CALL指令 142
8.2.3 CALL指令 142
8.2.2 RET指令 142
8.2.1 PROC与ENDP伪指令 142
8.3 Include伪指令 145
8.3 Include伪指令 145
8.4 建立宏程序库 146
8.4 建立宏程序库 146
8.5.1 EXTERN伪指令 149
8.5 EXTERN和PUBLTC伪指令 149
8.5.1 EXTERN伪指令 149
8.5 EXTERN和PUBLTC伪指令 149
8.5.2 PUBLIC伪指令 150
8.5.2 PUBLIC伪指令 150
8.5.3参数传递 153
8.6 LIBRARY 153
8.6 LIBRARY 153
8.5.3参数传递 153
8.6.1 独立子程序的描述及程序列表 154
8.6.1 独立子程序的描述及程序列表 154
8.6.2 区段说明 163
8.6.2 区段说明 163
8.7 建立程序库 167
8.7 建立程序库 167
9.1 转移 173
9.2 在代码段中的标记 173
9.2 在代码段中的标记 173
第9章 程序流程 173
第9章 程序流程 173
9.1 转移 173
9.3 标志寄存器 174
9.3 标志寄存器 174
9.3.1 状态标志 175
9.3.1 状态标志 175
9.3.2 修改状态标志指令: STC、CLC和CMC 176
9.3.3 控制标志 176
9.3.4 修改控制标志指令: STD、CLD、STI和CLI 176
9.3.2 修改状态标志指令: STC、CLC和CMC 176
9.3.3 控制标志 176
9.3.4 修改控制标志指令: STD、CLD、STI和CLI 176
9.4 条件转移指令 177
9.4 条件转移指令 177
9.4.1 CMP指令 178
9.4.1 CMP指令 178
9.4.2 以位指定为根据的转移 181
9.4.3 以零为根据的转移 181
9.4.3 以零为根据的转移 181
9.4.2 以位指定为根据的转移 181
9.4.4 转移扩展(jump-extending) 182
9.4.4 转移扩展(jump-extending) 182
9.5 无条件转移指令: JMP 183
9.5 无条件转移指令: JMP 183
9.6 循环(LOOP) 184
9.6 循环(LOOP) 184
9.7 IF伪指令 191
9.7 IF伪指令 191
9.8.1 .WHILE循环 192
9.8 循环伪指令 192
9.8 循环伪指令 192
9.8.1 .WHILE循环 192
9.8.2 .REPEAT循环 193
9.8.2 .REPEAT循环 193
9.8.3 .BREAK和.CONTINUE伪指令 194
9.8.3 .BREAK和.CONTINUE伪指令 194
9.9 编写循环条件 195
9.9.1 运算式运算符 195
9.9 编写循环条件 195
9.9.1 运算式运算符 195
9.9.2 有符号与无符号操作数 196
9.9.2 有符号与无符号操作数 196
9.10 字符串处理 197
9.9.3 条件运算式的计算方式 197
9.10.1 字符串指令全观 197
9.10.1 字符串指令全观 197
9.10 字符串处理 197
9.9.3 条件运算式的计算方式 197
9.10.2 使用字符串指令 199
9.10.2 使用字符串指令 199
第10章 磁盘操作与文件处理 204
10.1 数据磁盘对映 204
10.1 数据磁盘对映 204
第10章 磁盘操作与文件处理 204
10.1.1 逻辑扇区 205
10.1.1 逻辑扇区 205
10.1.2 磁盘格式 206
10.1.2 磁盘格式 206
10.2 磁盘逻辑结构 207
10.2 磁盘逻辑结构 207
10.2.1 根目录区 207
10.2.1 根目录区 207
10.2.2 文件区 211
10.2.3 文件分配表(FAT) 211
10.2.2 文件区 211
10.2.3 文件分配表(FAT) 211
10.3 驱动器的管理 213
10.3 驱动器的管理 213
10.3.2 0EH: 驱动器选择 214
10.3.3 19H: 取得当前所使用的驱动器代码 214
10.3.2 0EH: 驱动器选择 214
10.3.1 0DH: 磁盘重置 214
10.3.1 0DH: 磁盘重置 214
10.3.4 1BH: 取得预设的驱动器信息 214
10.3.4 1BH: 取得预设的驱动器信息 214
10.3.3 19H: 取得当前所使用的驱动器代码 214
10.3.5 1CH: 取得指定驱动器信息 215
10.3.6 36H: 取得磁盘剩余空间 215
10.3.6 36H: 取得磁盘剩余空间 215
10.3.5 1CH: 取得指定驱动器信息 215
10.4 DOS目录管理 216
10.4.1 39H: 建立子目录 216
10.4.1 39H: 建立子目录 216
10.4 DOS目录管理 216
10.4.3 3BH: 改变当前的工作目录 217
10.4.2 3AH: 删除子目录 217
10.4.3 3BH: 改变当前的工作目录 217
10.4.2 3AH: 删除子目录 217
10.4.4 41H: 删除文件 218
10.4.4 41H: 删除文件 218
10.4.5 43H: 获取或设置文件属性 218
10.4.5 43H: 获取或设置文件属性 218
10.4.6 47H: 获取当前的工作目录路径 219
10.4.6 47H: 获取当前的工作目录路径 219
10.4.7 4EH: 寻找第一个符合条件的文件 220
10.4.7 4EH: 寻找第一个符合条件的文件 220
10.4.8 4FH: 寻找另一个符合条件的文件 221
10.4.9 1AH: 设置磁盘传送地址(DTA) 221
10.4.9 1AH: 设置磁盘传送地址(DTA) 221
10.4.8 4FH: 寻找另一个符合条件的文件 221
10.4.10 PSP: (代码段前置区;Program Segment Prefix) 222
10.4.10 PSP: (代码段前置区;Program Segment Prefix) 222
10.5 文件 225
10.5 文件 225
10.5.1 3CH: 建立文件及传回文件代号 226
10.5.1 3CH: 建立文件及传回文件代号 226
10.5.2 3DH: 打开文件 227
10.5.2 3DH: 打开文件 227
10.5.3 3EH: 关闭文件 229
10.5.4 3FH: 读取数据 229
10.5.4 3FH: 读取数据 229
10.5.3 3EH: 关闭文件 229
10.5.5 40H: 写入数据 230
10.5.5 40H: 写入数据 230
10.5.6 42H: 移动文件读写指针 231
10.5.6 42H: 移动文件读写指针 231
附录A 安装 234
附录A 安装 234
附录B LST、REF、MAP文件 240
附录B LST、REF、MAP文件 240
附录C 完整段 251
附录C 完整段 251
附录D 中断 257
附录D 中断 257
附录E MASM 6.11保留字 261
附录E MASM 6.11保留字 261
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《莼江曲谱 1 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《第一性原理方法及应用》李青坤著 2019
- 《美国所藏中国铜器集录 上 订补本》陈梦家著 2019
- 《美国所藏中国铜器集录 下 订补本》陈梦家著 2019
- 《美国所藏中国铜器集录 中 订补本》陈梦家著 2019
- 《转售价格维持的经济效应与反垄断政策》唐要家著 2013
- 《黑记》麦家著 2014
- 《铁路工程建设信息化管理》汪水清,孙健家著 2013
- 《暗算》麦家著 2004
- 《密码》麦家著 2014
- 《思考型教师的感悟》蒋笃家著 2013
- 《解密》麦家著 2004
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019