《PC机汇编语言程序设计》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)John Socha,(美)Peter Norton著;章 含等译
  • 出 版 社:北京:学苑出版社
  • 出版年份:1994
  • ISBN:7507709051
  • 页数:401 页
图书介绍:

第零章 简介 1

0.1 为什么学习汇编语言 1

0.2 我们使用的方法 2

0.3 本书编排 2

0.4 要使用书中举例需要什么 3

0.5 Dskpatch 3

第一部分 机器语言 7

第一章 学习调试和计算机算术操作 7

1.1 Intel微处理机介绍 7

1.2 计算机计数方式 8

1.3 用十六进制数计数 8

1.4 使用Debug程序 8

1.5 进行十六进制算术操作 9

1.6 位、字节、字和二进制数 16

1.7 二进制补码——负数的奇数排序 17

1.8 小结 18

第二章 用80X86作数学运算 20

2.1 使用寄存器变量 20

2.2 使用80X86内存 21

2.3 80X86方式加 23

2.4 80X86方式减 25

2.5 80X86中的负数 25

2.6 80X86的字节 25

2.7 80X86方式乘法和除法 26

2.8 小结 28

第三章 打印字符 29

3.1 INT——用DOS功能 29

3.2 退出程序:INT 20h 31

3.3 组合各个部分:一个两行的程序 32

3.4 程序输入 32

3.5 给寄存器传送数据 33

3.6 写字符串 35

3.7 小结 36

第四章 打印二进制数值 37

4.1 运用进位标志使数值循环移位 37

4.2 在数值上加进位标志 39

4.3 循环:重复执行代码块 39

4.4 建立显示二进制数的程序 41

4.5 使用Proceed命令单步执行中断 42

4.6 小结 42

第五章 以十六进制形式打印数值 43

5.1 数值比较 43

5.2 打印十六进制数字 45

5.3 小结 50

第六章 读字符 51

6.1 读字符 51

6.2 读一位数字的十六进制数 52

6.3 读两位数字的十六进制数 52

6.4 小结 53

第七章 利用过程来编写重复使用的代码 54

7.1 编写过程 54

7.2 堆栈和返回地址的调用形式 56

7.3 数据的压入和弹出 58

7.4 读入多种类别的十六进制数值 59

7.5 小结 60

第二部分 汇编程序 65

第八章 欢迎使用汇编程序 65

8.1 脱离Debug建立程序 65

8.2 建立源文件 67

8.3 链接程序 68

8.4 Debug中的Writestr 69

8.5 使用注释 70

8.6 在代码中使用标号 70

8.7 小结 72

第九章 使用汇编语言编写过程 73

9.1 汇编程序过程 73

9.2 十六进制数输出过程 76

9.3 模块化设计的开始 78

9.4 一个程序骨架 78

9.5 小结 79

第十章 用十进制打印 80

10.1 回顾十进制转换 80

10.2 一些技巧 82

10.3 WRITE_DECIMAL的内部工作 84

10.4 小结 85

第十一章 段 86

11.1 内存划分为段的原则 86

11.2 堆栈 89

11.3 程序段前缀(PSP) 91

11.4 DOSSEG指令 91

11.5 NEAR和FAR调用 92

11.6 有关INT指令的许多知识 95

11.7 中断向量 96

11.8 小结 96

第十二章 建立Dskpatch及其修改过程 97

12.1 磁盘、扇区及其他 97

12.2 编写Dskpatch的实施方案 99

12.3 小结 100

第十三章 模块化设计-分块编写程序 101

13.1 分割汇编 101

13.2 模块化设计的三个准则 104

13.3 使用Programmer's Workbench 106

13.4 小结 111

第十四章 内存显示 112

14.1 利用寻址方式存取内存 112

14.2 使用数据段 114

14.3 基址相对寻址 115

14.4 设置DS指向数据段 117

14.5 添加字符显示 118

14.6 显示内存中256字节 119

14.7 小结 124

第十五章 显示一个磁盘扇区 125

15.1 简化工作 125

15.2 NMAKE文件格式 126

15.3 修改Disp_sec 127

15.4 读一个扇区 128

15.5 DATA?指令 132

15.6 小结 132

第十六章 扩展扇区显示 134

16.1 增加图形字符 134

16.2 增加地址显示 136

16.3 增加水平线 139

16.4 增加数值显示 144

16.5 小结 145

第三部分 IBM PC的ROM BIOS第十七章 ROM BIOS例程 149

17.1 ROM BIOS显示例程 149

17.2 清除屏幕 151

17.3 移动光标 153

17.4 变量用法 154

17.5 写标题 158

17.6 小结 160

第十八章 WRITE_CHAR的最终版本 162

18.1 新的WRITE_CHAR 162

18.2 清除到行尾 165

18.3 小结 167

第十九章 命令传送中心 168

19.1 建立一个传送中心 168

19.2 读其他扇区 173

19.3 学习后面章节的方法 176

第二十章 编程进阶 177

20.1 虚光标 177

20.2 简单编辑 178

20.3 Dskpatch的其他改变与附加内容 179

第二十一章 虚光标 180

21.1 虚光标 180

21.2 改变字符属性 185

21.3 小结 186

第二十二章 简单编辑 188

22.1 移动虚光标 188

22.2 简单编辑 191

22.3 小结 195

第二十三章 十六进制与十进制输入 196

23.1 十六进制输入 196

23.2 十进制输入 206

23.3 小结 206

第二十四章 改进的键盘输入 207

24.1 新的READ_STRING 207

24.2 用户友好性与程序员友好性 213

24.3 小结 216

第二十五章 搜索错误 217

25.1 解决DISPATCHER的问题 217

25.2 小结 219

第二十六章 写回修改的扇区 220

26.1 写磁盘 220

26.2 更多的调试技术 222

26.3 建立列表文件 223

26.4 跟踪错误 225

26.5 源程序级调试 226

26.6 Microsoft的CodeView 227

26.7 Borland的Turbo Debugger 229

26.8 小结 232

第二十七章 另外一半扇区 233

27.1 滚动半个扇区 233

27.2 小结 236

第四部分 高级课题 239

第二十八章 重定位 239

28.1 编写COM程序 239

28.2 使用完整的段定义 239

28.3 重定位 240

28.4 COM与EXE程序 243

第二十九章 关于段与ASSUME语句更多的知识 246

29.1 段超越 246

29.2 ASSUME的另外一瞥 248

29.3 小结 248

第三十章 快速的WRITE_CHAR 249

30.1 确定显示内存段 249

30.2 直接写显示内存 251

30.3 快速写屏 253

30.4 小结 259

第三十一章 在C和C++程序中使用汇编语言 260

31.1 为C语言编写的清屏程序 260

31.2 在C++中使用Clear_screen 264

31.3 传送一个参数 265

31.4 传送多个参数 269

31.5 返回函数值 270

31.6 使用其他内存模式 272

31.7 关于用汇编写C/C++过程的总结 277

31.8 编写嵌入汇编代码 278

31.9 小结 281

第三十二章 DISKLITE:一个RAM驻留程序 282

32.1 RAM驻留程序 282

32.2 截取中断 282

32.3 Disklite 284

第三十三章 保护模式和Windows的程序设计 290

33.1 什么是保护模式 290

33.2 在Windows下工作 293

33.3 小结 297

第三十四章 相关字和书目 303

34.1 80X86参考书 303

34.2 DOS和ROM BIOS程序设计 304

34.3 RAM驻留程序 304

34.4 高级DOS编程 304

34.5 Windows程序设计 305

34.6 软件设计 305

34.7 其他参考书 305

附录A 磁盘指南 306

A.1 各章节中的例子 306

A.2 Dskpatch的高级版本 307

A.3 DISKLITE程序 309

A.4 Windows代码 309

A.5 C/C++库 309

附录B Dskpatch清单 311

B.1 过程描述 311

B.2 Dskpatch制作文件 314

B.3 Dskpatch链接信息文件 314

B.4 Dskpatch程序清单 315

附录C 汇编语言编写的C/C++库 354

C.1 过程描述 354

C.2 制作文件 357

附录D 参考表 392