PC汇编语言程序设计 第2章.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《PC汇编语言程序设计 第2章.pdf》由会员分享,可在线阅读,更多相关《PC汇编语言程序设计 第2章.pdf(44页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第二章 PC微型计算机的组织结构第二章 PC微型计算机的组织结构2.1 INTEL 8088/8086微处理器的组成结构微处理器的组成结构2.2 主存及其分段主存及其分段2.3 I/O端口及端口及I/O空间空间习题二习题二第二章 PC微型计算机的组织结构2.1 INTEL 8088/8086 微处理器的组成结构微处理器的组成结构图 2.1 8088/8086 微型机的组织结构AHALBHBLCHCLDHDLSPBPDISIALUFREU控制逻辑暂存器通用寄存器微处理器执行部件EUCSDSESSSIP1 2 3 4 总线控制逻辑AXBXCXDX16位数据20位地址MMI/O接口I/O接口I/O设
2、备I/O设备指令队列微处理器总线接口部件BIU段寄存器系统总线SB主存及I/O设备第二章 PC微型计算机的组织结构2.1.1 通用寄存器通用寄存器1 数据寄存器 数据寄存器数据寄存器包括AX、BX、CX、DX四个通用寄存器,用来存放计算过程中所用到的操作数及结果等。这四个数据寄存器既可以以字节(8位)为单位,也可以以字(16位)为单位进行操作,例如对AX既可以分别访问高位字节AH或低位字节AL,也可以访问整个AX。这四个寄存器都可作为通用寄存器,但又有各自的专门用途。第二章 PC微型计算机的组织结构AX(Accumulator)作为累加器用,在算术、逻辑运算指令和I/O指令中通常使用该寄存器。
3、另外,十进制调整指令、换码指令、乘除指令及某些串操作指令也都隐含使用该寄存器。BX(Base)在涉及基地址的寻址方式中,经常用作基址寄存器。CX(Counter)在循环指令和串操作指令中,隐含作为计数器用。DX(Data)在字乘字运算时,隐含存放积的高位字;在双字除字运算前,DX用来隐含存放被除数的高位字,运算后隐含存放商。此外,在I/O操作中,DX指定用来存放I/O的端口地址。第二章 PC微型计算机的组织结构2 指针寄存器及变址寄存器 指针寄存器及变址寄存器指针寄存器包括SP和BP,变址寄存器包括SI和DI。这四个16位的寄存器可以像数据寄存器一样在运算过程中存放操作数和结果,但它们不能被分
4、为字节(8位),只能以字(16位)为单位使用。此外,这四个寄存器更经常的是在段内寻址时提供偏移地址,并且各有各自的专门用途。SP(Stack Pointer)为堆栈指针寄存器。SP用来指示栈顶的偏移地址,确定堆栈段(由SS指定)中的某一存储单元的地址。BP(Base Pointer)为基址指针寄存器。BP与段寄存器SS联用,可作为堆栈区中的一个基地址,以相对方式访问堆栈中的存储单元。第二章 PC微型计算机的组织结构SI(Source Index)为源变址寄存器。SI与DS联用,用来确定数据段中某一存储单元的地址。SI有自动增量(当DF位为0)或自动减量(当DF位为1)的变址功能(参见标志寄存器
5、FR)。在串处理指令中,SI作为隐含的源变址寄存器。DI(Destination Index)为目的变址寄存器。DI可与DS、ES联用,用来确定数据段或附加段中某一存储单元的地址。它也具有自动增量(当DF位为0)或自动减量(当DF位为1)的变址功能(参见标志寄存器FR)。在串处理指令中,DI作为目的变址寄存器,隐含与ES联用,达到在附加段中寻址的目的。第二章 PC微型计算机的组织结构各通用寄存器的专门用途如表2-1,其中隐含HT5SS使用的含义是,指令规定使用某个寄存器,但在指令的汇编语句中不出现。特定使用的含义是,指令规定使用某个寄存器,且在指令的汇编语句中写出。第二章 PC微型计算机的组织
6、结构表表 2-1 通用寄存器的隐含使用和特定使用通用寄存器的隐含使用和特定使用第二章 PC微型计算机的组织结构表表 2-1 通用寄存器的隐含使用和特定使用通用寄存器的隐含使用和特定使用第二章 PC微型计算机的组织结构2.1.2 段寄存器段寄存器PC机中将存储器划分若干段,如图2.2所示。汇编程序把要运行的程序、数据、堆栈分别放在不同的存储段中。每个存储单元的地址由两个因素决定,一个是该存储单元所在段的段首地址,称为段基址;另一个是该存储单元与它所在段的段基址之间以字节数计算的距离,称为段内偏移地址。第二章 PC微型计算机的组织结构段寄存器(Segment Register)共有四个,分别为CS
7、,DS,ES 和SS,并均有各自的专门用途。其中,CS(Code Segment)为代码段寄存器,只能存放程序段首地址;DS(Data Segment)为数据段寄存器,只能存放数据段首地址;ES(Extra Segment)为附加段寄存器,只能存放数据段首地址;SS(Stack Segment)为堆栈段寄存器,只能存放堆栈段首地址。第二章 PC微型计算机的组织结构图 2.2 存储器的段结构及段寄存器数据段基址DS附加段基址代码段基址堆栈段基址ESCSSS数据段附加段代码段堆栈段MM第二章 PC微型计算机的组织结构2.1.3 控制寄存器控制寄存器1 IP(Instruction Pointer)
8、指令指针)指令指针IP是指令地址指针,用以指示程序运行至何处。程序运行时,IP的值自动修改,但始终存放即将执行指令的段内偏移地址。IP不能用指令直接访问,即不能用指令去取出IP的值或给IP设定值。但是可以通过执行转移指令(例如,JMP,JNE等)把转移地址的段内偏移地址装入IP。子程序调用指令CALL执行时,IP原有内容自动压入堆栈,把子程序入口地址偏移地址装入IP。当从子程序返回时,返回指令RET又自动从堆栈中将原保存的IP内容装入IP。第二章 PC微型计算机的组织结构2 FR(Flags Register)标志寄存器)标志寄存器标志寄存器FR体现了微处理器的当前状态和某些控制。FR共有9个
9、标志位。其中6个(CF,PF,AF,ZF,SF,OF)为标志位,反映算术或逻辑运算指令执行后的某些状态特征;另外3个标志位(TF,IF,DF)为控制标志位,用以体现CPU的控制。FR中标志位的位置及符号表示如表2-2所示,各位的意义分述如下:(1)OF(Overflow Flag)溢出位:当运算的结果超过字长所能表示的范围时,产生“溢出”。此时,OF置“1”,记为OV(Overflow)。否则,OF清“0”,记为NV(Non Overflow)。以补码表示的字节数据范围是-128+127,字数据范围是-32 768 +32 767。溢出产生的原因是由于同号数相加或异号数相减。第二章 PC微型计
10、算机的组织结构(2)CF(Carry Flag)进位位:当进行算术运算时,如最高位(对字操作是第15位,对字节操作是第7位)产生进位(加法类运算)或借位(减法类运算),则CF置“1”,记为CY(Carry)。否则清“0”,记为NC(NonCarry)。在移位类指令中CF用以保存从最高位(左移时)或从最低位(右移时)移出的位。溢出与进位是两个不同的概念,不能混淆。进位产生的含义是无符号数的运算结果超过8位(字节)或16位(字)。而溢出产生的含义是带符号数的运算结果超过7位(字节),或15位(字),数值位占据了符号位。第二章 PC微型计算机的组织结构(3)SF(Sign Flag)符号位:当运算结
11、果为负时,SF置“1”,记为NG(Negative)。为正时,则清“0”,记为PL(Plus)。因此,SF就是补码数据运算结果的符号位(字节运算为第7位,字运算为第15位)。(4)ZF(Zero Flag)零位:若运算结果各位全为“0”时,则ZF置“1”,记为ZR(Zero)。否则清“0”,记为NZ(Non Zero)。第二章 PC微型计算机的组织结构(5)AF(Auxiliary Carry Flag)辅助进位位:算术运算时,若低字节中低 4 位(即第3位)产生进位(加法)或借位(减法)时,则AF置“1”,记为AC(Auxiliary Carry)。否则清“0”,记为NA(NonAuxili
12、ary Carry)。AF只反映运算结果的低 4 位向高位的进位,它是十进制调整的依据。(6)PF(Parity Flag)奇偶位:若操作结果的低 8 位中有偶数个“1”时,则PF置“1”,记为PE(Parity Even)。否则PF清“0”,记为PO(Parity Odd)。请注意,PF只反映操作结果的低 8 位的奇偶,与高位字节无关。第二章 PC微型计算机的组织结构表表 2-2 FR中标志位的位置及符号表示中标志位的位置及符号表示第二章 PC微型计算机的组织结构以下介绍的各位为控制标志。(7)TF(Trace Flag)单步跟踪位:当设定TF=1时,CPU每执行完一条指令将产生一个单步中断
13、,用作调试程序的手段。进入单步中断处理程序时,TF被清“0”。(8)DF(Direction Flag)方向位:DF规定变址寄存器SI,DI中地址的增减。当设定DF=1时,记为DN(Down),进行串操作时,SI,DI中的地址自动递减。当设定DF=0时,记为UP(Up),进行串操作时,SI,DI中的地址自动递增。第二章 PC微型计算机的组织结构(9)IF(Interruptenable Flag)中断允许位:当设定IF=1时,记为EI(Enable Interrupter),CPU将响应可屏蔽中断源的中断请求。当设定IF=0时,记为DI(Disenable Interrupter),CPU则不
14、理睬来自可屏蔽中断的中断请求。第二章 PC微型计算机的组织结构2.2 主存及其分段主存及其分段2.2.1 主存主存MM(Main Memory)的组成)的组成主存储器由若干存储单元组成。每一个存储单元为8位二进制数,称为字节(Byte)。每个字节分配有唯一的地址。地址是无符号的二进制数,它从小到大顺序地分配给每个字节。主存储器拥有的字节数表示了存储器的容量。若主存为1 MB,则其地址范围为00000HFFFFFH。第二章 PC微型计算机的组织结构任何两个相邻字节(16位二进制数)都可构成一个字(Word),并用地址值较小的那个字节单元地址作为这个字单元的地址。其中,地址较低字节中存放该字的低8
15、位,而地址较高字节中存放该字的高8位。例如,图2.3(a)的01916H字节单元中存放数据22H,01917H字节中存放数据18H,01918H字节单元中存放数据23H。如果把01916H和01917H两个相邻字节单元组成一个字单元,那么该字单元的地址为01916H,内容为1822H。如果把01917H和01918H两个相邻字单元组成一个字单元,那么该字单元的地址为01917H,内容为2318H。在图2.3(b)的01986H01989H字节单元中分别存放有字母A、B、C、D的ASCII码(41H44H),如果把01986H和01987H两个字节单元看作一个字,该字地址是01986H,那么该字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PC汇编语言程序设计 第2章 PC 汇编语言 程序设计
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内