《MS-DOS 汇编语言子程序精选》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:L.J.斯堪隆
  • 出 版 社:北京科海培训中心;新地文化事业有限公司
  • 出版年份:2222
  • ISBN:
  • 页数:280 页
图书介绍:

前言 1

序言 2

第一章 微处理器概述 5

1.1 从程序员的观点来看微处理器 5

1.2 内部寄存器 5

1.3 寻址方式 8

第二章 汇编程序的使用 9

2.1 汇编语言指令 9

2.2 汇编语言伪指令 10

2.3 运算符 13

2.5 开发汇编语言程序 16

2.4 汇编语言程序的类型 16

2.6 目标程序库 23

2.7 目标库的批处理文件 24

第三章 微处理器指令集 25

3.1 数据传送指令 29

3.2 算术运算指令 33

3.3 位操作指令 38

3.4 控制转移指令 44

3.5 串指令 48

3.6 中断指令 52

3.7 处理器控制指令 53

3.8 80186/286高级指令 54

3.9 80286/386的保护方式指令 56

第四章 程序模块 57

4.1 主模块 57

4.2 副模块 57

4.3 这些模块的用法 58

第五章 存储器操作 59

5.1 用一个字节值填满一个存储块(FILLMEMB) 59

5.2 用一个字值填满一个存储块(FILLMEMW) 60

5.3 移动字节块(MOVBLOCK) 62

5.4 比较字节块(COMPMEMB) 63

5.5 比较字块(COMPMEMW) 65

5.6 在一个存储块中查找一个字节(FINDBYTE) 66

5.7 在一个存储块中查找一个字值(FINDWORD) 68

5.8 对一些不带符号的字取平均值(AVERAGEU) 69

5.9 对一些带符号的字取平均值(AVERAGES) 71

第六章 32位二进制算术运算 73

6.1 将32位数装入寄存器 73

6.2 不带符号的二进制加法(ADDU32) 74

6.3 不带符号的二进制减法(SUBU32) 75

6.4 不带符号的二进制乘法(MULU32) 76

6.5 不带符号的二进制比较(COMPU32) 78

6.6 平方根(SQRT32) 79

6.7 带符号的二进制加法(ADDS32) 81

6.8 带符号的二进制减法(SUBS32) 83

6.9 带符号的二进制乘法(MULS32) 86

6.10 带符号的二进制比较(COMPS32) 87

第七章 16位十进制运算 90

7.1 输入BCD数 90

7.2 非压缩的十进制加法(ADDUD16) 90

7.3 非压缩的十进制减法(SUBUD16) 92

7.4 非压缩的十进制乘法(MULUD16) 93

7.5 非压缩的十进制除法(DIVUD16) 95

7.6 将16位二进制转换成压缩的BCD(B2BCDW) 97

7.7 将16位压缩的BCD转换成二进制(BCDW2B) 99

7.8 压缩的十进制加法(ADDPD16) 100

7.9 压缩的十进制减法(SUBPD16) 101

7.10 压缩的十进制乘法(MULPD16) 103

7.11 压缩的十进制除法(DIVPD16) 106

第八章 32位移位和旋转操作 108

8.1 左移(SAL32) 108

8.2 算术右移(SAR32) 110

8.3 逻辑右移(SHR32) 111

8.4 左旋转(ROL32) 112

8.5 右旋转(ROR32) 113

8.6 带进位左旋转(RCL32) 115

8.7 带进位右旋转(RCR32) 116

第九章 代码转换 118

9.1 二进制转换成压缩的BCD(BIN2BCD) 118

9.2 压缩的BCD转换成二进制(BCD2BIN) 119

9.3 二进制转换成十六进制ASCⅡ(BIN2ASC) 120

9.4 十六进制ASCⅡ转换成二进制(ASC2BIN) 121

9.5 不带符号的二进制转换成ASCⅡ字符串(UBIN2$) 122

9.6 带符号的二进制转换成ASCⅡ字符串(SBIN2$) 125

9.7 ASCⅡ十进制字符串转换成不带符号的二进制($2UBIN) 128

9.8 ASCⅡ十进制字符串转换成带符号的二进制($2SBIN) 130

第十章 串操作 133

10.1 将一个串加到另一个串后面(APPEND$) 133

10.2 将一个串插入到另一个串中(INSERT$) 135

10.3 在一个串中查找一个子串(FINDSUB$) 137

10.4 从一个串中删除一个子串(DELSUB$) 139

10.5 在一个串中拷贝一个子串(COPYSUB$) 141

10.6 在一个串中移动一个子串(MOVESUB$) 143

第十一章 无序表的操作 146

11.1 不带符号的字节表的求和(SUMUB) 146

11.2 带符号的字节表的求和(SUMSB) 148

11.3 不带符号的字节表中的最大和最小值(MAXMINU) 149

11.4 带符号的字节表中的最大和最小值(MAXMINS) 151

11.5 向无序表中添加一个字节(ADDB2UL) 152

11.6 从无序表中删除一个字节(DELB2UL) 153

第十二章 排序 156

12.1 气泡排序 156

12.2 不带符号的字节表按升序排序(BUBBLEBA) 158

12.3 不带符号的字表按升序排序(BUBBLEWA) 160

13.2 在升序表中查找一个字节值(FINDBA) 162

13.1 对分查找 162

第十三章 有序表的操作 162

13.3 在升序表中查找一个字值(FINDWA) 165

13.4 在升序表中插入一个字节值(INSBA) 167

13.5 在升序表中插入一个字值(INSWA) 169

13.6 从升序表中删除一个字节值(DELBA) 171

13.7 从升序表中删除一个字值(DELWA) 173

第十四章 通用输入与输出子程序 176

14.1 ASCⅡ 176

14.3 标准输入和输出设备 177

14.4 显示一个串(LIST$) 177

14.2 ASCⅡ的汇编程序表示法 177

14.5 读一个串(GET$) 179

14.6 显示一个字符(LISTCHR) 180

14.7 打印一个字符(PRINTCHR) 181

14.8 读一个字符(GETCHR) 182

14.9 读一个字符并回送(GETCHRE) 184

14.10 送一个字符到串行端口(SENDCSER) 186

14.11 从串行端口读一个字符(GETCSER) 187

14.12 扬声器发声(BEEP) 188

15.1 取时间(GETTIME) 190

第十五章 时间与日期操作 190

15.2 设置时间(SETTIME) 191

15.3 产生延迟(DELAY) 194

15.4 取日期(GETDATE) 196

15.5 设置日期(SETDATE) 197

第十六章 IBM PC专用的输入与输出 199

16.1 取IBM PC的型号(GETPCMOD) 199

16.2 读光标位置(READCURS) 200

16.3 移动光标(MOVECURS) 201

16.4 清除屏幕(CLEARS) 202

16.5 通过扬声器发出音响(SOUND) 203

16.6 通过扬声器演奏乐曲(PLAY) 206

17.1 取默认磁盘驱动器(GETDRIVE) 209

第十七章 磁盘驱动器操作 209

17.2 设置默认磁盘驱动器(SETDRIVE) 210

17.3 取检验开关状态(GETVERIF) 211

17.4 设置/复位检验开关(SETVERIF) 212

17.5 取磁盘自由空间(DSKSPACE) 213

第十八章 子目录操作 215

18.1 显示出错信息(SHOWERR) 215

18.2 取当前目录(GETDIR) 218

18.3 读路径名(GETPATH) 219

18.4 建立一个子目录(MAKEDIR) 221

18.5 取消一个子目录(REMDIR) 222

18.6 改变当前目录(CHGDIR) 223

第十九章 磁盘文件操作 225

19.1 属性 225

19.2 更改文件名(RENFILE) 226

19.3 删除一个文件(DELFILE) 227

19.4 读取文件方式(GETMODE) 229

19.5 改变文件方式(CHMODE) 230

19.6 查找第一个匹配文件(FINDF) 232

19.7 查找下一个匹配文件(FINDNXTF) 234

19.8 设置一个文件的写保护(PROTF) 236

19.9 取消一个文件的写保护(UNPROTF) 239

19.10 设置一个文件的隐含属性(HIDEF) 240

19.11 取消一个文件的隐含属性(UNHIDEF) 243

第二十章 磁盘输入与输出 246

20.1 在BASIC中数据文件的操作 246

20.2 在汇编语言中数据文件的操作 246

20.3 文件柄 247

20.4 建立一个文件(NEWFILE) 248

20.5 打开一个文件(OPENFILE) 249

20.6 关闭一个文件(CLOSFILE) 251

20.7 移动文件指针(MOVEPTR) 252

20.8 写一个文件(WRITFILE) 254

20.9 读一个文件(READFILE) 256

20.10 腾空一个文件(EMPTYF) 258

第二十一章 其它子程序 261

21.1 取DOS的版本号(GETDOSV) 261

21.2 读中断向量(GETINTV) 262

21.3 改变中断向量(SETINTV) 263

21.4 检查数学协处理器(MATHCHIP) 265

附录 267

A.十六进制/十进制转换 267

B.ASCⅡ字符集 269

C.指令系统一览表 271