《MASM 6.11汇编语言应用》求取 ⇩

第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 Number5

1.6 计算机的数制5

1.6.2 Binary Number5

1.6.3 Hexadecimal Number6

1.6.3 Hexadecimal Number6

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 ASCII9

1.7.1 ASCII9

1.7.2 EBCDIC9

1.7.2 EBCDIC9

第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 Distance27

3.7 指定处理器(Processor)和协处理器(Coprocessor)27

3.8 建立Stack27

3.9 建立数据(Data)段27

3.9 建立数据(Data)段27

3.7 指定处理器(Processor)和协处理器(Coprocessor)27

3.8 建立Stack27

3.6 设置Stack Distance27

3.10.1 Near Code Segment28

3.9.1 Near Data Segment28

3.9.2 Far Data Segment28

3.10 建立Code段28

3.10.1 Near Code Segment28

3.10.2 Far Code Segment28

3.10.2 Far Code Segment28

3.9.1 Near Data Segment28

3.9.2 Far Data Segment28

3.10 建立Code段28

3.11 使用.STARTUP和.EXIT去开始和结束CODE29

3.11 使用.STARTUP和.EXIT去开始和结束CODE29

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 Code38

4.2 近程与远程地址38

4.2.1 Near Code38

4.2.2 Far Code38

4.2 近程与远程地址38

4.2.2 Far Code38

4.2.4 Far Data39

4.2.3 Near Data39

4.2.4 Far Data39

4.2.3 Near Data39

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 Call86

6.5 BIOS86

6.6 DOS86

6.5 BIOS86

6.6 DOS86

6.7 DOS Function Call86

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 LIBRARY153

8.6 LIBRARY153

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和CMC176

9.3.3 控制标志176

9.3.4 修改控制标志指令: STD、CLD、STI和CLI176

9.3.2 修改状态标志指令: STC、CLC和CMC176

9.3.3 控制标志176

9.3.4 修改控制标志指令: STD、CLD、STI和CLI176

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 无条件转移指令: JMP183

9.5 无条件转移指令: JMP183

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

1998《MASM 6.11汇编语言应用》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由蔡友家著 1998 北京:机械工业出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

IBM PC汇编语言(1991 PDF版)
IBM PC汇编语言
1991 西安:陕西师范大学出版社
IBM PC宏汇编语言程序设计及应用(1992 PDF版)
IBM PC宏汇编语言程序设计及应用
1992
80386汇编语言编程( PDF版)
80386汇编语言编程
北京希望电脑公司
8088汇编语言( PDF版)
8088汇编语言
应用C语言( PDF版)
应用C语言
汇编语言设计( PDF版)
汇编语言设计
IBM PC宏汇编语言 MASM 的使用方法( PDF版)
IBM PC宏汇编语言 MASM 的使用方法
中科院希望电脑技术公司
汇编语言(1997 PDF版)
汇编语言
1997 北京:电子工业出版社
C语言应用(1992 PDF版)
C语言应用
1992 成都:电子科技大学出版社
Java语言及应用(1996 PDF版)
Java语言及应用
1996 北京:清华大学出版社
汇编语言基础及CASL汇编语言(1998 PDF版)
汇编语言基础及CASL汇编语言
1998 北京:北京大学出版社
MASM汇编语言应用6.11(1998 PDF版)
MASM汇编语言应用6.11
1998 北京:机械工业出版社
IBM PC宏汇编语言程序设计及应用(1992 PDF版)
IBM PC宏汇编语言程序设计及应用
1992 长沙:国防科技大学出版社
语言应用论集(1999 PDF版)
语言应用论集
1999 北京:北京广播学院出版社
C语言实用程序汇编(1997 PDF版)
C语言实用程序汇编
1997 北京:化学工业出版社