汇编语言第2章80x86计算机组织_第1页
汇编语言第2章80x86计算机组织_第2页
汇编语言第2章80x86计算机组织_第3页
汇编语言第2章80x86计算机组织_第4页
汇编语言第2章80x86计算机组织_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章第二章 80 x86计算机组织计算机组织 主要内容主要内容 2.1 80 x862.1 80 x86微处理器微处理器 2.2 2.2 基于微处理器的计算机系统基于微处理器的计算机系统 2.3 2.3 中央处理机中央处理机 2.4 2.4 存储器存储器 2.5 2.5 外部设备外部设备2.1 80 x86微处理器微处理器一、一、80 x86是美国是美国Intel公司的微处理器系列公司的微处理器系列1969:4040芯片、芯片、4位位1973:8080芯片、芯片、8位位1978:8086芯片、芯片、DB16位,位, AB20位,位,29000个晶体管1979:8088芯片、芯片、16位位19

2、82:80286芯片、芯片、16位位1986:80386芯片、芯片、32位位 Pentium系列系列二、一些名词术语二、一些名词术语(1) 主频:主频:主时钟频率,影响运行计算机速度主时钟频率,影响运行计算机速度 数据总线:数据总线:负责各部分间的数据传送负责各部分间的数据传送数据总线宽度:芯片内传送数据的宽度数据总线宽度:芯片内传送数据的宽度外部数据总线宽度:芯片内和芯片外交换外部数据总线宽度:芯片内和芯片外交换数据的宽度数据的宽度 地址总线宽度:地址总线宽度:用以确定可访问的存储器的最用以确定可访问的存储器的最大范围大范围地址总线宽度地址总线宽度 10位:位:210=1024单元,单元,1

3、K 20位:位:220=1024* 210单元单元=1024K,1M 24位:位:224=16*1M,16M 30位:位:230=1024M,1G 32位:位:232=4G,即,即4GB二、一些名词术语二、一些名词术语(2) 存储器存储器 主存、高速缓存、外存储器主存、高速缓存、外存储器 指令执行时间指令执行时间 8086:400ns; 80286:250ns; 80486:25ns;Pentium:25ns/2; Pentium Pro:25ns/3; Pentium II: 工作方式工作方式(1)实模式()实模式(2)保护模式()保护模式(3)虚拟模式)虚拟模式工作方式工作方式(1)实模式

4、:段寄存器保护实际的段地址,但)实模式:段寄存器保护实际的段地址,但只限于只限于1M的寻址的寻址(2)保护模式:有更大寻址能力,使用各种表)保护模式:有更大寻址能力,使用各种表格,段的实际地址放在描述符表中,使用段选格,段的实际地址放在描述符表中,使用段选择器择器(3)虚拟模式:提供比主存更大的空间,程序)虚拟模式:提供比主存更大的空间,程序可放在外存上,执行时调入,模拟多个可放在外存上,执行时调入,模拟多个CPU2.2 基于微处理器的计算机系统基于微处理器的计算机系统计算机系统计算机系统计算机系统包括硬件和软件两部分:计算机系统包括硬件和软件两部分:1硬件:硬件:2软件:软件:2.2.1 硬

5、件硬件 计算机总体结构图:计算机总体结构图:IBM PC微型计算机结构(续)微型计算机结构(续)功能部件功能部件 存储器:计算机的记忆部件存储器:计算机的记忆部件 中央处理机:包括运算器和控制器中央处理机:包括运算器和控制器 运算器:执行算术和逻辑运算指令运算器:执行算术和逻辑运算指令 控制器:负责全机的控制工作,如取指令、译控制器:负责全机的控制工作,如取指令、译码、分析、取数、执行、存数码、分析、取数、执行、存数 I/O系统:系统:I/O设备、大容量存储器设备、大容量存储器 系统总线:系统总线:数据线、地址线和控制线数据线、地址线和控制线三组三组2.2.2 软软 件件 计算机软件:系统软件

6、、用户软件计算机软件:系统软件、用户软件系统软件:系统软件:用户软件:用户软件: 操作系统:主要部分是常驻监督程序操作系统:主要部分是常驻监督程序 I/O驱动程序:对驱动程序:对I/O设备进行控制或管理设备进行控制或管理 计算机软件层次图计算机软件层次图 其它软件(其它软件(1) 文件管理系统:文件管理系统: 文本编辑程序:如文本编辑程序:如editor(edit命令),命令), 记事本、写字板记事本、写字板 翻译程序:分编译程序、解释程序翻译程序:分编译程序、解释程序 汇编程序:汇编程序:Asm、Masm、Tasm ASM:小汇编程序,它占有较小的存储区,:小汇编程序,它占有较小的存储区,功

7、能较弱功能较弱 MASM:宏汇编程序,功能较强,具有宏汇:宏汇编程序,功能较强,具有宏汇编能力编能力 Masm for windows集成实验环境集成实验环境其它软件(其它软件(2) 连接程序:程序、库文件或其他已翻译的子程连接程序:程序、库文件或其他已翻译的子程序连接在一起,形成机器可执行程序序连接在一起,形成机器可执行程序 装入程序:把程序从外存送到内存装入程序:把程序从外存送到内存 调试程序:调试程序:系统带的调试程序系统带的调试程序Debug:举例:举例Turbo Debug程序:程序:TdebugMasm for windows集成实验环境集成实验环境2.3 中央处理机中央处理机2.

8、3.1 中央处理机中央处理机CPU的组成的组成 2.3.2 8086/8088的寄存器组的寄存器组 2.3.1 中央处理机中央处理机CPU的组成的组成 CPU由三部分组成由三部分组成: 算术逻辑部件算术逻辑部件ALU:用来进行算术和逻辑运用来进行算术和逻辑运算。算。控制逻辑控制逻辑:负责对全机的控制工作,包括:负责对全机的控制工作,包括:取指、译指、取操作数,发执行指令、结果取指、译指、取操作数,发执行指令、结果存入存储器、对总线和存入存储器、对总线和I/O传送的控制等。传送的控制等。1.寄存器:寄存器:相当于运算器中的一个存储单元相当于运算器中的一个存储单元8086 CPU结构结构2.3.2

9、 8086/8088的寄存器组的寄存器组寄存器:寄存器:可见寄存器、不可见寄存器可见寄存器、不可见寄存器可见寄存器可见寄存器:通用寄存器通用寄存器专用寄存器专用寄存器1. 段寄存器段寄存器通用寄存器(通用寄存器(1) 8086/8088、80286:数据寄存器:数据寄存器:AX,BX,CX,DX,16位位 可作可作8位寄存器用:位寄存器用:AH,AL,DH,DL等等变址寄存器:变址寄存器:SP,BP,SI,DI,16位位寄存器概况寄存器概况数据寄存器的用途数据寄存器的用途 AX:作累加器,算术运算主要寄存器;在:作累加器,算术运算主要寄存器;在I/O时用时用AX与外部设备传送信息与外部设备传送

10、信息 BX:在计算存储器地址时,常作基址寄存器:在计算存储器地址时,常作基址寄存器 CX:作计数器:作计数器 DX:作双字长运算时把:作双字长运算时把DX和和AX组合存放一组合存放一个双字长数;在个双字长数;在I/O时,时,DX可用来存放可用来存放I/O的的端口地址端口地址SP、BP、SI、DI SP:堆栈指针寄存器。堆栈指针寄存器。 BP:基址指针寄存器基址指针寄存器 SI:源变址寄存器源变址寄存器 DI:目的变址寄存器目的变址寄存器 123456789ABCDEF0变址寄存器的用途变址寄存器的用途可象数据寄存器一样在运算过程中存放操作可象数据寄存器一样在运算过程中存放操作数;数;在段内寻址

11、时提供偏移地址在段内寻址时提供偏移地址SP、BP都可以与都可以与SS寄存器联用来确定堆栈寄存器联用来确定堆栈段中的某一存储单元的地址段中的某一存储单元的地址SI、DI一般与一般与DS联用:联用:在串处理指令中,在串处理指令中,SI和和DS联用,联用,DI和和ES联用联用8086系统的堆栈系统的堆栈 是存储器中的特殊区域是存储器中的特殊区域 在堆栈段内,在堆栈段内,“FILO” SP始终指向栈顶,总是字操作,指示栈顶始终指向栈顶,总是字操作,指示栈顶的偏移地址;的偏移地址; BP可作为堆栈区中的一个基地址以便访问可作为堆栈区中的一个基地址以便访问堆栈中的其他信息堆栈中的其他信息 栈底设在高地址区

12、、堆栈地址由高向低增长栈底设在高地址区、堆栈地址由高向低增长(象一个有底的桶)(象一个有底的桶) 存放断点或暂存数据存放断点或暂存数据关于关于SP、BPF0 DE BC 9A 78 56 34 12 0060 0059 005d 低 地 址 高 地 址 栈 顶 SP 栈 底 BP 堆栈的操作堆栈的操作 PUSH/POP 桶结构桶结构 SP始终指向栈顶始终指向栈顶(有内容有内容) 地址由高向低增长地址由高向低增长 字操作字操作通用寄存器(通用寄存器(2) 80386及后继机型:及后继机型:数据寄存器:数据寄存器: EAX、EBX、ECX、EDX,32位位 可作可作8位寄存器用:位寄存器用:AH,

13、AL,DH,DL等等 可作可作16位寄存器用:位寄存器用:AX,BX,CX,DX变址寄存器:变址寄存器:ESP、EBP、ESI、EDI,32位位每个的专用属性与每个的专用属性与8086/8088、80286的寄存的寄存器一一对应器一一对应专用寄存器(专用寄存器(1) 8086/8088、80286: IP、SP、FLAGS16位位 IP:指令指针寄存器。:指令指针寄存器。供系统使用,存放代码供系统使用,存放代码段中的偏移地址,与段中的偏移地址,与CS寄存器联用确定下一条寄存器联用确定下一条指令的物理地址,指向下一条指令的首地址指令的物理地址,指向下一条指令的首地址 FLAGS:程序状态字寄存器

14、:程序状态字寄存器PSW。放条件码放条件码标志、控制标志、系统标志标志、控制标志、系统标志专用寄存器(专用寄存器(2) 80386及后继机型:及后继机型: EIP、ESP、EFLAGS32位位 与与IP、SP、FLAGS16位的作用相同位的作用相同程序状态字寄存器程序状态字寄存器 8086/8088、80286: 条件码标志:条件码标志: OF、SF、ZF、CF、AF、PF 控制标志位:控制标志位:DF 系统标志位:系统标志位:TF、IF、IOPL(80286) NT 0FDFIFTFSFZF AF PF CFIOPL条件码标志条件码标志 OF:溢出标志。:溢出标志。运算时如操作数超出机器表示

15、范围运算时如操作数超出机器表示范围称为溢出。此时称为溢出。此时OF位置位置1;否则置;否则置0。 SF:符号标志。:符号标志。记录运算结果的符号,结果为负时记录运算结果的符号,结果为负时置置1,否则置,否则置0。 ZF:零标志。:零标志。运算结果为运算结果为0,置,置1;否则置;否则置0。 CF:进位标志。:进位标志。记录从最高有效位产生的进位值。记录从最高有效位产生的进位值。最高有效位有进位时置最高有效位有进位时置1,否则置,否则置0。 AF:辅助进位标志。:辅助进位标志。记录运算时第记录运算时第3位产生的进位位产生的进位值。如第值。如第3位有进位时置位有进位时置1,否则置,否则置0。 PF

16、:奇偶标志。:奇偶标志。当结果操作数中当结果操作数中1的个数为偶数时置的个数为偶数时置1,否则置,否则置0。标志符号标志符号 举例举例标志名标志名标志为标志为1标志为标志为0OF 溢出溢出(是是/否否)DF 方向方向(减量减量/增量增量)IF 中断中断(允许允许/关闭关闭)SF 符号符号(负负/正正)ZF 零零(是是/否否)AF 辅助进位辅助进位(是是/否否)PF 奇偶奇偶(偶偶/奇奇)CF 进位进位(是是/否否) OVDNEINGZRACPECF NVUPDIPLNZNAPONC 练习练习 计算下列各表达式的值,并且根据计算结果分析计算下列各表达式的值,并且根据计算结果分析OF、SF、ZF、

17、AF、PF和和CF各标志位的状态。各标志位的状态。 58H+63H 80H+90H FFH+FEH 38H+2BH 9CH-45H FEH-FFHOFSFZFAFPFCF 结果58H+63H 1 1 0 0 1 0BBH 80H+90H 1 0 0 0 0 110H FFH+FEH 0 1 0 1 0 1FDH 38H+2BH 0 0 0 1 1 063H 9CH-45H 1 0 0 0 0 057H FEH-FFH 0 1 0 1 1 1FFH控制标志位控制标志位 控制标志位控制标志位 :DF 方向标志,用于串处理指令处理方向标志,用于串处理指令处理 DF位为位为1时时,每次操作后使变址寄存

18、器,每次操作后使变址寄存器SI和和DI减量,使串处理从高地址向低地址方向处减量,使串处理从高地址向低地址方向处理:理: 当当DF位为位为0时时,则使,则使SI和和DI增量,使串处理增量,使串处理从低地址向高地址方向处理:从低地址向高地址方向处理:系统标志位系统标志位 IF:中断标志。:中断标志。 当当IF=1时,允许中断;时,允许中断; IF=0时关闭中断时关闭中断 TF:陷井标志(跟踪标志)。用于单步方式操作:陷井标志(跟踪标志)。用于单步方式操作 IOPL:I/O特权级。控制对特权级。控制对I/O地址空间访问地址空间访问段寄存器段寄存器 8086/8088、80286:四个段寄存器:四个段

19、寄存器 代码段代码段CS,数据段,数据段DS,堆栈段,堆栈段SS,附加段,附加段ES 80386及后继机型:六及后继机型:六个段寄存器个段寄存器 代码段代码段CS,数据段,数据段DS,堆栈段,堆栈段SS,附加段,附加段ES、FS、GS-都是都是16位位 举例:举例:2.4 存储器存储器 2.4.1 存储单元的地址和内容存储单元的地址和内容 2.4.2 实模式存储器寻址实模式存储器寻址 2.4.3 保护模式存储器寻址保护模式存储器寻址2.4.1 存储单元的地址和内容存储单元的地址和内容位、字节和字位、字节和字 位:位:计算机存储信息的基本单位,存储二进计算机存储信息的基本单位,存储二进制数制数:

20、0或或1。 字节:字节:每每8位组成一个字节,在存储器里以位组成一个字节,在存储器里以字节单位存储。字节单位存储。 字长:字长:8086/8088、80286字长为字长为16位,由位,由2个个字节组成;字节组成;80386字长为字长为32位,由位,由4个字节组个字节组成,双字成,双字2. 存储器地址存储器地址 存储器地址存储器地址 分配给每一个字节单元的编号。地址从分配给每一个字节单元的编号。地址从0开始开始编号,顺序地每次加编号,顺序地每次加1 每一个字节单元有唯一一个地址:物理地址每一个字节单元有唯一一个地址:物理地址 8086/8088: 20位,地址范围应该是位,地址范围应该是0000

21、0HFFFFFH 80286: 24位,地址范围应该是位,地址范围应该是000000HFFFFFFH 80386: 32位;位;Pentium: 36位位 3存储单元的内容存储单元的内容 存储单元的内容:存储单元的内容:一个存储单一个存储单元存放的信息元存放的信息(0004) = 1234H 字存放方式:字存放方式:低位字节放低地低位字节放低地址,高位字节放高地址,以其址,高位字节放高地址,以其低地址为准低地址为准 同一个地址既可看作同一个地址既可看作字节单元字节单元地址地址,又可看作,又可看作字单元地址字单元地址 双字数据存放:双字数据存放:类似类似4地址和内容地址和内容 如果用如果用X表示

22、某存储单元的地址,则表示某存储单元的地址,则X单元的单元的内容可以表示为内容可以表示为(X) 假如假如X单元中存放着单元中存放着Y,而,而Y又是一个地址,则又是一个地址,则可用可用(Y)=(X)来表示来表示Y单元的内容单元的内容 举例:举例:(0004H)=1234H,而,而(1234H)=2FlEH,则也可记作则也可记作 (0004H)=2F1EH 5存储器的特性存储器的特性 它的内容取之不尽它的内容取之不尽 存入新的信息后,原来保存的内容就自存入新的信息后,原来保存的内容就自动丢失动丢失 2.4.2 实模式存储器寻址实模式存储器寻址存储器地址的分段存储器地址的分段段寄存器段寄存器存储器地址

23、的分段存储器地址的分段 实模式实模式下最大寻址能力下最大寻址能力1MB 8086/8088:有有20条地址线,直接寻址能力为条地址线,直接寻址能力为1MB,即为该机的最大存储容量。,即为该机的最大存储容量。 其他处理器:其他处理器:实模式下最大寻址能力实模式下最大寻址能力1MB 问题:问题:对对16位字长的机器,用什么办法来提供位字长的机器,用什么办法来提供20位地址,即位地址,即1MB空间?分段,若干个不超过空间?分段,若干个不超过64K单元的段。单元的段。 实模式实模式为为8086/8088而设计。而设计。几个名词几个名词 段:段:将存储器划分成段,每个段的大小可达将存储器划分成段,每个段

24、的大小可达64K,每段内地址可以用,每段内地址可以用16位表示位表示 小段:小段:从从0地址开始,每地址开始,每16个字节为一小段:个字节为一小段:00000,00001,00002,0000E,0000F;00010,00011,00012,0001E,0001F;00020,00021,00022,0002E,0002F; 段地址:段地址:指每一段的起始地址指每一段的起始地址 第一列就是每个小段的首地址 在1M字节的地址空间里,共有64K个小段首地址:00000H00010H41230H41240HFFFE0HFFFF0H 物理地址物理地址 存储单元的物理地址:存储单元的物理地址:在在1M

25、字节的存储器里,字节的存储器里,每一个存储单元对应的一个唯一的每一个存储单元对应的一个唯一的20位地址位地址 物理地址的构成:物理地址的构成:20位物理地址由位物理地址由16位段地址位段地址和和16位偏移地址组成位偏移地址组成 段地址:段地址:它必须是小段的首地址,其低它必须是小段的首地址,其低4位一位一定是定是0,这样就规定段地址只取段起始地址的,这样就规定段地址只取段起始地址的高高16位值。位值。 偏移地址:偏移地址:指段内相对于段起始地址的偏移值指段内相对于段起始地址的偏移值物理地址的计算物理地址的计算 公式:公式:物理地址物理地址=16d 段地址段地址+偏移地址偏移地址16位段基址位段

26、基址 000016位偏移地址位偏移地址 20位物理地址位物理地址 +00002段寄存器段寄存器 808680286:代码段:代码段CS、数据段、数据段DS、堆栈段、堆栈段SS、附加段、附加段ES寄存器寄存器用途:确定一个段的起始地址,各有各的用途:用途:确定一个段的起始地址,各有各的用途:1)代码段存放当前正在运行的程序代码)代码段存放当前正在运行的程序代码2)数据段存放当前运行程序所用的数据)数据段存放当前运行程序所用的数据3)堆栈段定义了堆栈的所在区域。堆栈是一种数据)堆栈段定义了堆栈的所在区域。堆栈是一种数据结构,是特殊的存储区。特点:后进先出结构,是特殊的存储区。特点:后进先出4)附加

27、段是附加的数据段,是一个辅助的数据区)附加段是附加的数据段,是一个辅助的数据区举例:程序中代码段占举例:程序中代码段占8K(2000H)存储区,数据存储区,数据段占有段占有2K(800H)存储区,堆栈段只占有存储区,堆栈段只占有256个字个字节的存储区,分配图:节的存储区,分配图:段分配独立的情况段分配独立的情况8086/8088、80286段寄存器与放偏移地址段寄存器与放偏移地址的寄存器的默认组合的寄存器的默认组合段段偏偏 移移CSSSDSESIPSP、BPBX、DI、SI或或16位数位数DI四个段寄存器四个段寄存器 8086CPU同时可管理四个段同时可管理四个段 CS:程序程序 DS:数据

28、数据 ES:附加数据附加数据 SS:堆栈堆栈80386及后继机型段寄存器与放偏移地址的及后继机型段寄存器与放偏移地址的寄存器的默认组合寄存器的默认组合段段偏偏 移移CSSSDSESFSGSEIPESP、EBPEAX、EBX、ECX等等6个、或个、或8位或位或32位数位数EDI无默认无默认无默认无默认2.4.3 保护模式存储器寻址保护模式存储器寻址 使用保护模式的原因:使用保护模式的原因: 8086/8088机型只有机型只有1M地址空间地址空间 80286机型有机型有16M地址空间;地址空间;实模式和保护模式,每个任实模式和保护模式,每个任务提供务提供1G1G(2 23030)字节的虚拟存储器地址空间,把操作系)字节的虚拟存储器地址空间,把操作系统及各任务所分配到的地址空间隔离开,避免程序之间统及各任务所分配到的地址空间隔离开,避免程序之间的相互干扰,保证系统在多任务环境下正常工作。的相互干扰,保证系统在多任务环境下正常工作。 80386机型有机型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论