目录第一章基础知识...41.7 CPU对存储器的读写...41.8地址总线...41.9数据总线...41.10控制总线...41.15内存地址空间...4第二章寄存器...52.1通用寄存器...52.3几条汇编指令...52.5 16位结构的CPU.52.6 8086CPU给出物理地址的方法...62.7 “物理地址=短地址×16+偏移地址”的本质含义...62.8段的概念...62.9段寄存器...62.10 CS和IP.72.11修改CS、IP的指令...7第3张寄存器(内存访问)...83.1内存中字的存储...83.2 DS和[address]83.4 MOV、ADD、SUB指令...83.6栈...93.7 CPU提供的栈机制...93.8栈顶超界的问题...93.9 PUSH、POP指令...93.10栈段...9第4章第一个程序...104.1一个源程序从写出到执行的过程...104.2源程序...104.3编辑源程序...11第5章[bx]和loop指令...115.1 [bx]115.2 loop指令...115.3在Debug中跟踪用loop指令实现的循环程序...115.4 Debug和汇编编译器Masm对指令的不同处理...115.5 loop和[bx]的联合应用...125.6段前缀...12第6章包含多个段的程序...126.1在代码段中使用数据...126.3将数据、代码、栈放入不同的段...13第七章更灵活的定位内存地址的方法...137.1 and和or指令...137.3以字符形式给出数据...147.4大小写转换的问题...147.5 [bx+idata]147.6用[bx+idata]的方式进行数组的处理...157.7 SI和DI157.8 [bx+si]和[bx+di]157.9 [bx+si+idata]和[bx+di+idata]15第8章数据处理的两个基本问题...168.1 bx、si、di、bp.168.2机器指令处理的数据所在位置...168.3汇编语言中数据位置的表达...178.4寻址方式...178.5指令要处理的数据有多长...178.6寻址方式的综合应用...178.7 div指令...178.8伪指令dd.188.9 dup.18第9章转移指令原理...189.1操作符offset199.2 jmp指令...199.3依据位移进行转移的jmp指令...199.4转移的目的地址在指令中的jmp指令...209.5转移地址在寄存器中的JMP指令...209.6转移地址在内存中的jmp指令...209.7 jcxz指令...209.8 loop指令...219.9根据位移进行转移的意义...219.10编译器对转移位移超界的检测...21第10章call和ret指令...2110.1 ret和retf2110.2 call指令...2210.3依据位移进行转移的call指令...2210.4转移的目的地址在指令中的call指令...2210.5转移地址在寄存器中的call指令...2310.6转移地址在内存中的call指令...2310.7 call和ret的配合使用...2410.8 mul指令...24第11章标志寄存器...2511.1 ZF标志...2511.2 PF标志...2611.3 SF标志...2611.4 CF标志...2611.5 OF标志...2611.6 adc指令...2611.7 sbb指令...2711.8 cmp指令...2711.9检测比较结果的条件转移指令...2711.10 DF标志和串传送指令...2811.11 pushf和popf29第12章内中断...2912.2中断处理程序...2912.3中断向量表...2912.4中断的过程...2912.5中断处理程序...3012.8安装...3012.11单步中断...3012.12响应中断的特殊情况...30第13章INT指令...3113.1 INT指令...3113.4 BIOS和DOS所提供的中断例程...3113.6 BIOS中断例程的应用...3113.7 DOS中断例程的应用...31第14章端口...3214.1端口的读写...3214.2 CMOS RAM芯片...3214.3 SHL和SHR指令...3314.4 CMOS RAM中存储的时间信息...33第15章外中断...3315.1接口芯片和端口...3315.2外中断信息...3315.3 PC机键盘的处理过程...34指令系统总结...34第16章直接定位表...3416.1描述了单元长度的标号...3416.2在其他段中使用数据标号...3516.3直接定址表...36第17章使用BIOS进行键盘输入和磁盘读写...3717.1 int 9中断例程对键盘输入的处理...3717.2使用INT 16H中断例程读取键盘缓冲区...3717.4应用INT 13H中断例程对磁盘进行读写...37