图书标准信息
-
作者
王爽
-
出版社
清华大学出版社
-
出版时间
2003-09
-
ISBN
9787302071952
-
定价
28.00元
-
装帧
平装
-
开本
其他
-
纸张
其他
-
页数
315页
- 【内容简介】
-
汇编语言,ISBN:9787302071952,作者:王爽著
- 【目录】
-
*
第1章 基础知识1
1.1 机器语言1
1.2 汇编语言的产生2
1.3 汇编语言的组成3
1.4 存储器3
1.5 指令和数据4
1.6 存储单元4
1.7 CPU对存储器的读写4
1.8 地址总线6
1.9 数据总线7
1.10 控制总线8
1.11 内存地址空间(概述)9
1.12 主板9
1.13 接口卡9
1.14 各类存储器芯片9
1.15 内存地址空间10
第2章 寄存器(CPU工作原理)13
2.1 通用寄存器13
2.2 字在寄存器中的存储15
2.3 几条汇编指令16
2.4 物理地址18
2.5 16位结构的CPU18
2.6 8086CPU给出物理地址的方法19
2.7 “段地址×16+偏移地址=物理地址”的本质含义20
2.8 段的概念22
2.9 段寄存器23
2.10 CS和IP23
2.11 修改CS、IP的指令30
2.12 代码段32
实验1 查看CPU和内存,用机器指令和汇编指令编程33
第3章 寄存器(内存访问)45
3.1 内存中字的存储45
3.2 DS和[address]46
3.3 字的传送47
3.4 mov、add、sub指令49
3.5 数据段51
3.6 栈53
3.7 CPU提供的栈机制55
3.8 栈顶超界的问题58
3.9 push、pop指令60
3.10 栈段64
实验2 用机器指令和汇编指令编程67
第4章 第1个程序71
4.1 一个源程序从写出到执行的过程71
4.2 源程序72
4.3 编辑源程序77
4.4 编译77
4.5 连接79
4.6 以简化的方式进行编译和连接82
4.7 1.exe的执行83
4.8 可执行文件中的程序装入内存并运行的原理83
4.9 程序执行过程的跟踪85
实验3 编程、编译、连接、跟踪88
第5章 [bx]和loop指令89
5.1 [bx]91
5.2 Loop指令93
5.3 在Debug中跟踪用loop指令实现的循环程序96
5.4 Debug和汇编编译器Masm对指令的不同处理102
5.5 loop和[bx]的联合应用105
5.6 段前缀108
5.7 一段安全的空间109
5.8 段前缀的使用111
实验4 [bx]和loop的使用113
第6章 包含多个段的程序114
6.1 在代码段中使用数据114
6.2 在代码段中使用栈118
6.3 将数据、代码、栈放入不同的段120
实验5 编写、调试具有多个段的程序123
第7章 更灵活的定位内存地址的方法126
7.1 and和or指令126
7.2 关于ASCII码126
7.3 以字符形式给出的数据127
7.4 大小写转换的问题128
7.5 [bx+idata]131
7.6 用[bx+idata]的方式进行数组的处理132
7.7 SI和DI134
7.8 [bx+si]和[bx+di]136
7.9 [bx+si+idata]和[bx+di+idata]138
7.10 不同的寻址方式的灵活应用139
实验6 实践课程中的程序147
第8章 数据处理的两个基本问题148
8.1 bx、si、di、bp148
8.2 机器指令处理的数据所在位置149
8.3 汇编语言中数据位置的表达150
8.4 寻址方式151
8.5 指令要处理的数据有多长?152
8.6 寻址方式的综合应用153
8.7 div指令156
8.8 伪指令dd158
8.9 dup159
实验7 寻址方式在结构化数据访问中的应用160
第9章 转移指令的原理162
9.1 操作符offset162
9.2 jmp 指令164
9.3 依据位移进行转移的jmp指令164
9.4 转移的目的地址在指令中的jmp指令168
9.5 转移地址在寄存器中的jmp指令169
9.6 转移地址在内存中的jmp指令169
9.7 jcxz指令171
9.8 loop指令172
9.9 根据位移进行转移的意义173
9.10 编译器对转移位移超界的检测174
实验8 分析一个奇怪的程序174
实验9 根据材料编程175
第10章 call和ret指令178
10.1 ret和retf178
10.2 call指令180
10.3 依据位移进行转移的call指令180
10.4 转移的目的地址在指令中的call指令181
10.5 转移地址在寄存器中的call指令182
10.6 转移地址在内存中的call指令182
10.7 call和ret的配合使用184
10.8 mul指令187
10.9 模块化程序设计188
10.10 参数和结果传递的问题188
10.11 批量数据的传递190
10.12 寄存器冲突的问题191
实验10 编写子程序194
课程设计1200
第11章 标志寄存器202
11.1 ZF标志202
11.2 PF标志203
11.3 SF标志204
11.4 CF标志205
11.5 OF标志206
11.6 adc指令208
11.7 sbb指令211
11.8 cmp指令211
11.9 检测比较结果的条件转移指令215
11.10 DF标志和串传送指令219
11.11 pushf和popf223
11.12 标志寄存器在Debug中的表示223
实验11 编写子程序224
第12章 内中断225
12.1 内中断的产生225
12.2 中断处理程序226
12.3 中断向量表226
12.4 中断过程227
12.5 中断处理程序228
12.6 除法错误中断的处理229
12.7 编程处理0号中断229
12.8 安装232
12.9 do0235
12.10 设置中断向量238
12.11 单步中断238
12.12 响应中断的特殊情况239
实验12 编写0号中断的处理程序240
第13章 int指令241
13.1 int指令241
13.2 编写供应用程序调用的中断例程242
13.3 对int、iret和栈的深入理解245
13.4 BIOS和DOS所提供的中断例程247
13.5 BIOS和DOS中断例程的安装过程248
13.6 BIOS中断例程应用248
13.7 DOS中断例程应用250
实验13 编写、应用中断例程251
第14章 端口254
14.1 端口的读写254
14.2 CMOS RAM芯片255
14.3 shl和shr指令256
14.4 CMOS RAM中存储的时间信息258
实验14 访问CMOS RAM260
第15章 外中断261
15.1 接口芯片和端口261
15.2 外中断信息261
15.3 PC机键盘的处理过程263
15.4 编写int 9中断例程264
15.5 安装新的int 9中断例程272
实验15 安装新的int 9中断例程274
指令系统总结274
第16章 直接定址表276
16.1 描述了单元长度的标号276
16.2 在其他段中使用数据标号278
16.3 直接定址表281
16.4 程序入口地址的直接定址表285
实验16 编写包含多个功能子程序的中断例程289
第17章 使用BIOS进行键盘输入和磁盘读写290
17.1 int 9中断例程对键盘输入的处理290
17.2 使用int 16h中断例程读取键盘缓冲区291
17.3 字符串的输入294
17.4 应用int 13h中断例程对磁盘进行读写298
实验17 编写包含多个功能子程序的
中断例程301
课程设计2302
附注304
附注1 Intel系列微处理器的三种工作模式304
附注2 补码305
附注3 汇编编译器(masm.exe)对jmp的相关处理307
附注4 用栈传递参数310
附注5 公式证明313
……
以下为对购买帮助不大的评价