《宏汇编语言MASM 6实用大全》求取 ⇩

目录3

第一部分 MS-DOS系统下的程序设计3

第一章 MS-DOS操作系统概述3

1.1 MS-DOS系统的基本组成4

1.1.1 MS-DOS系统5

1.1.2 PC机的物理组成成分5

1.2 Intel 80x86系列微处理器7

1.2.1 8086中表示数据的方法8

1.2.2 各种形式的数9

1.2.3 8086寄存器12

1.2.4 8086中的内存寻址方式15

1.2.5 8086堆栈17

1.2.6 8086中的输入/输出18

1.3 DOS19

1.3.1 加电MS-DOS PC机19

1.3.2 在DOS下执行程序21

1.3.3 访问ROMBIOS和DOS功能24

1.3.4 通过int指令调用DOS和BIOS功能24

1.4 摘要25

第二章 MASM程序设计27

2.1 建立编写MASM程序所需要的工具27

2.1.1 源文件、目标文件和可执行文件27

2.1.2 准备源文件27

2.1.3 汇编和连接28

2.1.4 使用MASM29

2.1.5 环境变量、批处理文件与MAKE文件30

2.1.6 连接目标文件33

2.2.1 .COM程序和.EXE程序35

2.2 第一个汇编语言程序35

2.2.2 汇编语言程序样板36

2.3 汇编过程40

2.3.1 MASM段42

2.3.2 符号表、向前引用和两趟汇编43

2.3.3 连接程序的作用43

2.4 MASM简介44

2.4.1 处理器指令格式44

2.4.2 操作数指定方式45

2.5.1 指令编码54

2.5 8086指令集54

2.5.2 指令类型56

2.5.3 数据移动57

2.5.4 算术操作、逻辑操作和移位操作58

2.5.5 标志处理59

2.5.6 过程、循环和跳转59

2.5.7 处理器控制和保护方式操作59

2.6 MASM伪指令及算符60

2.6.1 段说明60

2.6.2 数据定义和存储分配62

2.6.3 宏、过程和包含文件63

2.6.4 代码生成、错误处理和列表65

2.6.5 MASM算符66

2.7 示例:打印环境块内容66

2.7.1 找出算法66

2.7.2 程序及其输出67

2.7.3 程序结构71

2.8 摘要72

3.1.1 查看文件和内存的内容74

3.1 使用DEBUG74

第三章 用CodeView和DEBUG进行调试74

3.1.2 利用DEBUG测试代码76

3.1.3 利用DEBUG进行调试79

3.1.4 DEBUG命令摘要80

3.2 使用CodeView82

3.2.1 使用CodeView的基础知识82

3.2.2 CodeView中对话窗口命令85

3.2.3 CodeView中的菜单86

3.2.4 在CodeView中请求帮助90

3.2.5 在CodeView中进行调试91

3.2.6 对话窗口命令94

3.3 小结94

第二部分 处理器指令97

第四章 数据传送指令97

4.1 向/从内存传送数据97

4.1.1 MOV指令的不同形式98

4.1.2 巧妙的传送98

4.3.1 其他类型的数据传送:XCHG和XLAT99

4.3 装入立即数进DS、SS或ES寄存器99

4.2 将数据从一个内存位置传送至另一个内存位置99

4.4 将地址装入寄存器LDS和LES101

4.4.1 装入有效地址:LEA102

4.4.2 在80386/486中传送数据103

4.5 堆栈管理103

4.5.1 压入和弹出:PUSH和POP104

4.5.2 压入标志值:PUSHF和POPF105

4.5.3 通过堆栈传递参数105

4.6.2 拷贝块108

4.6.1 重复前缀:REP108

4.6 传送大块数据:MOVS、STOS和LODS108

4.6.3 初始化一块内存区域:STOS109

4.6.4 字符串功能109

4.7 I/O端口数据传送:IN和OUT110

4.8 小结110

第五章 算术、逻辑和移位操作138

5.1 算术运算指令138

5.1.1 加法139

5.1.2 减法140

5.2 除法141

5.1.3 乘法和除法141

5.3 交换并相加142

5.4 测试和比较指令142

5.4.1 比较两个值143

5.4.2 测试位144

5.4.3 字符串测试和比较144

5.4.4 80386/486中的测试和比较指令146

5.5 逻辑指令148

5.6 移位和循环移位148

5.6.1 通过移位实现加倍和减半149

5.6.2 循环移位150

5.6.3 80386/486双精度移位和位扫描150

5.7 带符号扩展的转换151

5.8 针对BCD运算进行调整152

5.8.1 BCD运算152

5.9 在乘除法之后进行调整153

5.10 小结154

第六章 过程、循环和跳转204

6.1.1 跳转205

6.1 无条件控制转移205

6.1.2 过程调用206

6.1.3 从过程中返回208

6.1.4 堆栈框架和过程211

6.1.5 中断211

6.2 条件控制转移213

6.2.1 条件跳转214

6.2.2 带符号和无符号比较215

6.2.3 循环216

6.4 小结217

6.3 溢出和边界检测217

第七章 处理器控制和保护模式操作239

7.1 处理器控制239

7.1.1 标志值处理239

7.1.2 处理器同步242

7.1.3 同协处理器协同工作242

7.1.4 HLT和NOP指令243

7.2 保护模式操作243

7.2.1 保护模式下的内存243

7.2.2 80286,80386和80486的多任务及其保护244

7.2.3 DOS扩展程序245

7.3 小结246

第三部分 MASM指令及运算符269

第八章 段说明269

8.1 逻辑段和物理段269

8.2 完整的段说明271

8.2.1 SEGMENT指令272

8.2.2 段分组275

8.3 简化的段说明276

8.3.1 MASM中的内存模式277

8.3.2 另外的代码和数据段278

8.3.3 预定义符号279

8.3.4 段排列280

8.4 指定程序入口点281

8.5 小结281

第九章 数据定义和存储分配292

9.1 等价292

9.2 处理文本串294

9.1.1 缺省的基数值294

9.3 存储分配296

9.3.1 为变量申请字节296

9.3.2 位置计数器和ORG指令301

9.3.3 结构、联合和记录303

9.3.4 使用STRUC组织用户数据303

9.3.5 为结构分配空间304

9.3.6 在汇编过程中初始化结构域304

9.3.8 MASM中嵌套的结构305

9.3.7 在汇编过程中初始化某些域305

9.3.9 访问结构中的域306

9.3.10 访问嵌套结构中的域306

9.3.11 指令UNION307

9.3.12 同时使用UNION和STRUC307

9.3.13 使用记录组织位域308

9.4 小结311

第十章 模块化程序的宏、过程和工具331

10.1 宏332

10.1.2 为缺少的宏参数提供缺省值334

10.1.1 必需的、缺省的及可变的参数334

10.1.3 指定可变数目的参数335

10.1.4 局部标号335

10.1.5 重复指令336

10.2 使用FOR处理:VARARG参数338

10.2.1 其他的宏指令339

10.2.2 宏函数341

10.2.3 MASM提供的宏函数342

10.3 条件汇编指令343

10.3.2 宏.IF,.ELSEIF,.ELSE和.ENDIF345

10.3.1 高级语言结构345

10.3.3 宏.WHILE和.ENDW347

10.3.4 宏.REPEAT、.UNTIL和.UNTILCXZ348

10.3.5 宏.BREAK和.CONTINUE350

10.3.6 由.IF、.ELSEIF、.WHILE和.UNTIL使用的表达式351

10.3.7 高级指令中的带符号和不带符号比较353

10.4 包含文件354

10.5 过程354

10.5.1 编写过程的步骤355

10.5.2 为高级语言编写的汇编过程357

10.5.3 在过程中定义局部变量365

10.5.4 过程原型以及使用PROTO和INVOKE进行调用366

10.6 标号和变量的范围368

10.6.1 公用变量368

10.6.2 EXTRNDEF指令369

10.6.3 在目标文件中嵌入库名369

10.7 小结369

11.1 汇编特定处理器指令394

第十一章 代码生成、条件汇编、错误处理和列表394

11.2 判断处理器类型395

11.3 在汇编过程中处理错误396

11.4 列表和注释397

11.4.1 注释397

11.4.2 列表398

11.5 符号表400

11.6 列出宏扩展和条件块401

11.6.1 交叉引用402

11.7 MASM操作符403

11.7.1 算术操作符404

11.7.2 关系、逻辑和移位操作符405

11.7.3 类型说明符406

11.8 小结407

第四部分 技巧433

第十二章 为高级语言编写汇编模块433

12.1 与Microsoft高级语言进行交互433

12.1.1 混合语言程序设计速览433

12.1.4 参数传递约定436

12.1.3 NEAR或FAR调用436

12.1.2 命名汇编语言过程436

12.1.5 返回结果439

12.1.6 返回前的清除工作439

12.2 一些实用的技术439

12.2.1 求助于编译器439

12.2.2 MASM 5.0中的简化方法442

12.3 一个实例444

12.3.1 判断鼠标驱动程序的存在444

12.3.2 鼠标接口例程447

12.3.3 汇编语言中的面向对象程序设计450

12.4 小结454

第十三章 使用系统资源455

13.1 检验系统的能力455

13.1.1 从何处查找信息456

13.2 8255 PPI或等价物460

13.3 RT/CMOS RAM461

13.4 DOS版本号463

13.5 BIOS数据区465

13.6.1 如何使用配置信息466

13.6 获取BIOS配置标志466

13.7 使用DOS服务467

13.7.1 访问MS-DOS文件系统467

13.7.2 文件I/O例程467

13.7.3 检验文件I/O例程473

13.8 使用BIOS服务476

13.8.1 实现设备I/O476

13.8.2 决定系统配置477

14.1.1 通讯参数478

第十四章 使用和控制硬件478

1 4.1 串行口的中断驱动控制478

14.1.2 串行口内部结构479

14.1.3 串行适配器的中断479

14.1.4 8259A可编程中断控制器482

14.2 使用汇编语言对串行口编程483

14.2.1 使用BIOS设置通讯参数484

14.2.2 取得串行端口地址484

14.2.3 设置中断驱动的串行I/O485

14.2.4 处理来自串行端口的中断486

14.2.5 关闭中断之前的清除工作488

14.3 一个例子程序489

14.4 小结490

第十五章 文本和图形用户接口498

15.1 PC的显示和适配器498

15.1.1 IBM PC的适配器和监视器498

15.1.2 IBM PS/2使用的显示适配器498

15.2 对显示适配器编程499

15.2.2  BIOS视频例程500

15.2.1 内存映象的I/O500

15.2.3 选择视频模式501

15.3 文本模式窗口505

15.3.1 文本属性505

15.3.2 CGA和雪花现象505

15.3.3 为文本模式编程判断视频信息506

15.3.4 低级文本输出例程507

15.3.5 绘制文本模式的窗口512

15.3.6 一个例子测试程序519

15.4 图形程序设计521

15.4.1 图形内存组织和寻址522

15.4.2 画点524

15.4.3 画线526

15.5 小结537

第十六章 80386/486程序设计538

16.1 80386和80486 CPU——快速浏览538

16.2 首先判断处理器是否为80386/486540

16.3 32位算术运算545

16.4 移动32位数据串548

16.5 初始化表格549

16.6 寻址4千兆的内存550

16.7 双字对齐551

16.8 位扫描551

16.9 位测试552

16.10 索引和基寄存器的灵活性553

16.11 80386/486的其他功能554

16.12 小结556

第十七章 优化要点557

17.1 快速文件处理559

17.2 小结560

第五部分 附录563

附录A ML和LINK命令行选项563

附录B DEBUG和CodeView的命令及选项566

附录C MS-DOS数据和控制结构571

附录D BIOS和DOS中断及其功能574

附录E EMS功能和错误码633

附录F MS-DOS错误返回641

附录G MASM版本644

附录H 不可打印的ASCII字符定义656

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

高度相关资料

MASM汇编语言应用6.11(1998 PDF版)
MASM汇编语言应用6.11
1998 北京:机械工业出版社
IBM PC宏汇编语言程序设计及应用(1992 PDF版)
IBM PC宏汇编语言程序设计及应用
1992
宏汇编语言程序设计(1987.01 PDF版)
宏汇编语言程序设计
1987.01 电子工业出版社
80X86宏汇编语言程序设计(1998年08月第1版 PDF版)
80X86宏汇编语言程序设计
1998年08月第1版 电子科技大学出版社
实用大学英语语法汇编( PDF版)
实用大学英语语法汇编
长沙:湖南教育出版社
宏汇编语言参考手册( PDF版)
宏汇编语言参考手册
MCS-86  宏汇编语言参考手册  中( PDF版)
MCS-86 宏汇编语言参考手册 中
MCS-86  宏汇编语言参考手册  上(1982 PDF版)
MCS-86 宏汇编语言参考手册 上
1982 航空工业部第六一八研究所情报室
DOS宏汇编语言 11(1983 PDF版)
DOS宏汇编语言 11
1983
MCS-86TM宏汇编语言 参考手册( PDF版)
MCS-86TM宏汇编语言 参考手册
宏汇编语言程序设计  修订本( PDF版)
宏汇编语言程序设计 修订本
IBM PC宏汇编语言 MASM 的使用方法( PDF版)
IBM PC宏汇编语言 MASM 的使用方法
中科院希望电脑技术公司
汇编语言(1997 PDF版)
汇编语言
1997 北京:电子工业出版社
宏汇编语言程序设计(1998 PDF版)
宏汇编语言程序设计
1998 北京:中国财政经济出版社
8086/8088汇编语言实用程序(1992 PDF版)
8086/8088汇编语言实用程序
1992 天津:天津大学出版社