ASM02IBMPC计算机组织课件_第1页
已阅读1页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

汇编语言程序设计第2章IBMPC计算机组织AssemblyLanguageProgramming汇编语言程序设计第2章IBMPC计算机组织Assem第2章IBMPC计算机组织2.180X86微处理器概述2.2基于微处理器的计算机系统组成2.3微处理器

2.3.1微处理器的结构

2.3.280X86寄存器组2.4存储器

2.4.1存储单元的地址和内容

2.4.2实模式存储器寻址

2.4.3保护模式存储器寻址第2章IBMPC计算机组织2.180X86微处理32.1 80X86微处理器将运算器和控制器集成在一个芯片上就构成了微处理器(CPU),控制整个计算机的运作并进行运算。8086/8088802868038680486Pentium字长1616323232数据总线DB16/816323264地址总线AB2024323232最大寻址1MB16MB4GB4GB4GB时钟范围(MHz)4.776~1616~4033~12066~166执行速度(MIPS)0.050.4~0.83~420~75112~28080X86微处理器主要特征:32.1 80X86微处理器将运算2.2基于微处理器的计算机系统构成计算机系统包括硬件和软件两大部分硬件:指计算机的物理实体(如CPU,显卡等),它分为微处理器,存储器,接口电路,外部设备

和系统总线

等。中央处理机CPU总线控制逻辑接口接口存储器大容量存储器I/O子系统系统总线I/O设备42.2基于微处理器的计算机系统构成计算机系统包括硬件和软件5软件:指使用和发挥计算机效能的各种程序的总称,通常我们将它分为两大类:系统软件:系统软件主要用来对计算机系统实际运行进行控制,管理和服务的。应用软件:指的是用户自己编的各类应用程序.系统软件软件数据库管理系统工具软件语言处理程序操作系统应用软件软件包用户程序5软件:指使用和发挥计算机效能的各种程序的总称,通常我们将它2.3中央微处理器2.3.1中央微处理器的组成及其编程结构任务:执行存放在存储器里的指令序列。组成:算术逻辑部件

进行算术和逻辑运算。控制逻辑

负责对全机的控制工作。工作寄存器

存放计算过程中的各种信息。编程结构:CPU对汇编语言程序员来说,编程结构主要由一组可见寄存器组成。6操作数地址、操作数、运算的中间结果2.3中央微处理器2.3.1中央微处理器的组成及其编程结构7782.3.28086的寄存器组两大类:程序不可见寄存器和程序可见寄存器。程序不可见寄存器——一般应用程序中不使用而由系统使用的寄存器。程序可见寄存器——可以由指令使用的寄存器。包括三类:通用寄存器(8个)专用寄存器(2个)段寄存器(4个)82.3.28086的寄存器组两大类:程序不可见寄存器80X86程序可见寄存器组EAXALAH累加器EBXBLBH基址变址ECXCLCH计数器EDXDLDH数据ESPSP

堆栈指针EBPBP

基址指针ESISI源变址EDIDI目的变址EIPIP指令指针EFLAGSFLAGS标志CS

代码段DS

数据段ES

附加段SS

堆栈段FSGSAXBXCXDX80X86程序可见寄存器组EAXALAH累加器EBXBLB101.通用寄存器(1)数据寄存器AX(accumulator):累加器,在乘除、I/O指令中使用BX(base):通用,基地址寄存器CX(count):通用,计数器DX(data):通用,双字运算及I/O操作中使用。8个字节寄存器:AH、AL、BH、BL、CH、CL、DH、DL(2)指针或变址寄存器

SP(stackpointer)

:堆栈指针寄存器,用来指示栈顶的偏移地址

BP(basepointer):基址寄存器,与SS联用SI(sourceindex):源变址寄存器DI(destinationindex):目的变址寄存器。101.通用寄存器(3)32位通用寄存器EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI,在80386及其后继机型中,所有32位通用寄存器既可以存放数据,也可以存放地址,每个寄存器的专用特性与8086/8088和80286的一一对应2.专用寄存器(1)IP(instructionpointer)/EIP:指令指针寄存器存放代码段中的偏移地址,在程序的运行中始终指向下一条指令的首地址,与CS一起确定一条指令的物理地址。(2)FLAGS(ProgramStatusWord)/EFLAG:标志寄存器存放反映处理器和运行程序执行结果状态的。11(3)32位通用寄存器11123.段寄存器专用于存放段地址(1)CS

(CodeSegment):代码段寄存器(2)DS

(DataSegment):数据段寄存器(3)SS

(StackSegment):堆栈段寄存器(4)ES

(ExtraSegment):附加段寄存器(5)FS附加段寄存器:

附加段寄存器(6)GS附加段寄存器:附加段寄存器

(5)和(6)无缺省组合,必须加段前缀说明123.段寄存器138086/8088标志寄存器(FLAGS/PSW)条件码标志:控制标志:ZF零标志

DF方向标志SF符号标志

IF中断标志CF进位标志

TF陷阱标志OF溢出标志AF辅助进位标志PF奇偶标志1514131211109876543210CFPFAFZFSFTFIFDFOF138086/8088标志寄存器(FLAGS/PS其它FLAGS标志:(自学)IOPL(I/OPrivilegeLevel)I/O特权级NT(NestedTask)嵌套任务标志

;286增加RF(ResumeFlag)重新启动标志VM(Virtual8086Mode)虚拟8086模式位;386增加AC(AlignmentCheckMode)对准检查方式位;486增加VIF(VirtualInterruptFlag)虚拟中断标志VIP(VirtualInterruptPendingFlag)虚拟中断未决标志ID(IdentificationFlag)标识标志;Pentium增加其它FLAGS标志:(自学)15零标志ZF(ZeroFlag)若运算结果为0,则ZF=1,否则ZF=0。例如:3AH+7CH=B6H, 结果非零:ZF=084H+7CH=(1)00H, 结果是零:ZF=1注意:ZF为1表示的结果是015零标志ZF(ZeroFlag)若运算结果为0,则ZF16符号标志SF(SignFlag)运算结果最高位为1,则SF=1;否则SF=0。例如:3AH+7CH=B6H,最高位D7=1:SF=184H+7CH=(1)00H,最高位D7=0:SF=0有符号数据利用最高有效位表示数据的符号。所以,最高有效位就是符号标志的状态。16符号标志SF(SignFlag)运算结果最高位为1,则17进位标志CF(CarryFlag)当运算结果的最高有效位有进位(加法)或

借位(减法)时,进位标志置1,即CF=1;

否则CF=0。例如:3AH+7CH=B6H,即58+124=182

无进位:CF=0AAH+7CH=(1)26H,即170+124=294有进位:CF=117进位标志CF(CarryFlag)当运算结果的最高有效18溢出标志OF(OverflowFlag)若算术运算的结果有溢出,则OF=1;否则OF=0。溢出:有符号数运算结果超出了补码表示范围。处理器内部以补码表示有符号数

8位字长整数范围:-128~+127

16位字长整数范围:-32768~+32767例如:

3AH+7CH=B6H,即58+124=182

有溢出:OF=1AAH+7CH=(1)26H,即-86+124=28无溢出:OF=0什么是溢出?18溢出标志OF(OverflowFlag)若算术运算的结19溢出和进位进位标志CF

表示无符号数运算结果是否超出范围,运算结果仍然正确(配合进位)。溢出标志OF

表示有符号数运算结果是否超出范围,运算结果已经不正确。处理器按照无符号数求得结果,并设置进位标志CF;同时,根据是否超出有符号数的范围设置溢出标志OF。程序员决定应该利用哪个标志。

认为是无符号数运算,关心进位标志;

认为是有符号数运算,注意溢出标志。19溢出和进位进位标志CF表示无符号数运算结果是否超出范20例:MOVAX,FFFFHMOVBX,1ADDAX,BX

指令执行后,(AX)=0,OF=0,CF=1,ZF=1,SF=0例:MOVAX,1MOVBX,2ADDAX,BX

指令执行后,(AX)=3,OF=0,CF=0,ZF=0,SF=020例:MOVAX,FFFFH例:MOVAX,212.3.380x86CPU的工作模式80x86CPU的3种工作模式1.实模式

与8086兼容的工作模式,只有低20位地址线起 作用,仅能寻址第一个1MB的内存空间。

如:MSDOS运行在实模式下。2.保护模式 32位80x86CPU的主要工作模式,提供对程序

和数据进行安全检查的保护机制。

如:Windows9x/NT/2000运行在保护模式下。3.虚拟8086模式在Windows9x下,若打开一个MSDOS

窗口,运行一个DOS应用程序,那么该程序就

运行在虚拟8086模式下。212.3.380x86CPU的工作模式80x86222.4存储器2.4.1存储单元的地址和内容1.存储信息的基本单位bit计算机中信息表示的最小单位,byte(8位)数据存取的最小单位2.地址:每一字节单元的编号,地址空间的范围与地址

线数目有关。16位地址:0000H~FFFFH;20位地址:00000H~FFFFFH;3.内容:存储单元中存放的信息,如(0004)=78H4.汇编中的数据类型byte(8位)word(16位)

Dword(32位)

Fword(48位)……222.4存储器存储器结构...存储器0000H0001H0002H0003H0004H0005H0006HFFFEHFFFFH低字节高字节字单元字节单元低地址字节单元高地址字节单元563412存储器结构...242.4.1存储单元的地址和内容5.存储形式:“低对低、高对高”的小端方式。6.数据的地址对齐

同一个存储器地址可以是字节单元地址、字单元地址、双字单元地址等。字单元安排在偶地址(xxx0B)、双字单元安排在模4地址(xx00B)等被称为“地址对齐(Align)”。

对于不对齐地址的数据,处理器访问时,需要额外的访问存储器时间。1)多字节数据需占连续的多个存储单元,低字节存入低地址,高字节存入高地址。

2)多字节数据占据的地址空间用它的低地址表示。242.4.1存储单元的地址和内容1)多字节数据需占连续的2576543210100111110000H001001100001H000111100002H110101110003H存储器1514131211109876543210字高位字节低位字节1001111100100110(0000H)=269FH(0002H)=D71EH(0001H)=1E26H

访问两次存储器(0000H)=9FH(0001H)=26H(0002H)=1EH(0003H)=D7H25765432262.4.2实模式存储器寻址8086/8088只能在实模式下。1.存储器地址的分段

问题:16位结构cpu如何解决20位地址的问题?解决:将存储器分段(逻辑上),每段最大不超过64KB,段内单元地址可用16位表示,称为偏移地址,每段的起始地址称为段地址(或段基址)。

规定:1)段地址必须取为小段首址。 2)从0地址单元开始,每16个单元为一小段。小段首地址为:00000H,00010H,00020H,…,FFFF0H。在一个1M的存储器里,共有64K个小段。16位结构CPU的特征:1)16位字长;2)16位寄存器(最大宽度);3)16位数据线。导致:cpu只能传送16位的地址,寻址能力只有64K8086的内存空间:1)内存是一维的线性空间。2)每一个内存单元在这个空间中都有唯一的物理地址;

3)有20位地址总线,可传送20

位地址,寻址能力为1M。262.4.2实模式存储器寻址8086/8088只能272.4.2实模式存储器寻址8086/8088只能在实模式下。2.物理地址的计算方法逻辑地址

由段地址和偏移地址组成。物理地址=16D×

段地址+偏移地址

16位段地址015

16位偏移地址015+0

20位物理地址190000显然,一个物理地址可以有多个逻辑地址地址加法器的工作过程8086CPU给出物理地址的方法272.4.2实模式存储器寻址8086/8088只能存储器分段管理的地址概念图示:段内偏移量偏移地址=段起始地址64K段内地址0000H0001H……0FFFH…….FFFFH64K段内地址0000H0001H……FFFFH30000H段内偏移量偏移地址=段起始地址40000H30000H+0FFFH=30FFFH物理地址......存储器0FFFH存储器分段管理的地址概念图示:段内偏移量偏移地址=段起始地址29思考:1)1MB空间最多能分成多少个段?2)1MB空间最少能分成多少个段?3)小段有什么特征?每隔16个存储单元就可以开始一个段,所以1MB最多可以有:220÷16=216=64K个段每隔64K个存储单元开始一个段,所以1MB最少可以有:220÷216=16

个段29思考:1)1MB空间最多能分成多少个段?每隔16个303.段寄存器8086CPU有4个段寄存器:CS、DS、SS、ES,用来存放段地址。一般情况下,各段在存储器中的分配是由操作系统负责的。(也可以在编程时指定)各段可以独立每个段都占用64K存储区,也可以重叠每个段按实际大小分配存储区,

不一定占有64K的最大段空间。memory303.段寄存器memory314.段寄存器的使用规定访问存储器的方式默认的段寄存器可超越的段寄存器偏移地址取指令 CS无IP堆栈操作 SS无SP一般数据访问 DSCS、ES、SS有效地址EA(下列除外)串操作的源操作数DSCS、ES、SSSI串操作的目的操作数ES无 DIBP基址的寻址方式 SSCS、DS、ES有效地址EA314.段寄存器的使用规定322.4.3保护模式存储器寻址

80286起,就引出了保护模式.(1)目的扩大寻址空间(超出1M),段长可从64K扩大到4GB或更多。支持多任务处理。支持虚拟存储器特性。(2)保护模式存储器寻址中的地址变换

逻辑地址由选择器和偏移地址构成。322.4.3保护模式存储器寻址(2)保护模式存储器寻址中33选择器150偏移地址310地址转换+存储器段基地址段基地址所选段最大4GB所选存储单元段寄存器保护模式存储器寻址33选择器150偏移地址3134(3)描述符描述符描述段的大小、段在存储器中的位置及其控制和状态信息。描述符的内容由系统设置,有8个字节

基地址指定段的起始地址;

界限存放着该段的段长度;

访问权该段在系统中的功能,并给出访问该段的一些控制信息;

附加字段在386及其后继机型,表示该段的一些属性。系统按选择器描述符基地址和界限值偏移地址相应的存储单元34(3)描述符35寄存器与存储器的比较

寄存器存储器在CPU内部在CPU外部访问速度快访问速度慢容量小,成本高容量大,成本低用名字表示用地址表示没有地址地址可用各种方式形成35寄存器与存储器的比较寄存器362.5外部设备外部设备:I/O设备和大容量存储器,通过接口电路与微机系统连接:外设接口

CPU。每个接口包含一组寄存器:数据寄存器:存放要在外设和主机之间传送的数据状态寄存器:保存外设或接口的状态信息。命令寄存器:CPU发出的控制命令通过此寄存器送给外设或接口。每个寄存器有一个唯一的端口地址,组成了独立于内存储器的I/O地址空间(0000h~ffffh,64KB).汇编语言程序员看到的,是端口(I/O地址)362.5外部设备外部设备:I/O设备和大容量存储器37作业Page332.12.32.42.52.637作业Page332.1汇编语言程序设计第2章IBMPC计算机组织AssemblyLanguageProgramming汇编语言程序设计第2章IBMPC计算机组织Assem第2章IBMPC计算机组织2.180X86微处理器概述2.2基于微处理器的计算机系统组成2.3微处理器

2.3.1微处理器的结构

2.3.280X86寄存器组2.4存储器

2.4.1存储单元的地址和内容

2.4.2实模式存储器寻址

2.4.3保护模式存储器寻址第2章IBMPC计算机组织2.180X86微处理402.1 80X86微处理器将运算器和控制器集成在一个芯片上就构成了微处理器(CPU),控制整个计算机的运作并进行运算。8086/8088802868038680486Pentium字长1616323232数据总线DB16/816323264地址总线AB2024323232最大寻址1MB16MB4GB4GB4GB时钟范围(MHz)4.776~1616~4033~12066~166执行速度(MIPS)0.050.4~0.83~420~75112~28080X86微处理器主要特征:32.1 80X86微处理器将运算2.2基于微处理器的计算机系统构成计算机系统包括硬件和软件两大部分硬件:指计算机的物理实体(如CPU,显卡等),它分为微处理器,存储器,接口电路,外部设备

和系统总线

等。中央处理机CPU总线控制逻辑接口接口存储器大容量存储器I/O子系统系统总线I/O设备412.2基于微处理器的计算机系统构成计算机系统包括硬件和软件42软件:指使用和发挥计算机效能的各种程序的总称,通常我们将它分为两大类:系统软件:系统软件主要用来对计算机系统实际运行进行控制,管理和服务的。应用软件:指的是用户自己编的各类应用程序.系统软件软件数据库管理系统工具软件语言处理程序操作系统应用软件软件包用户程序5软件:指使用和发挥计算机效能的各种程序的总称,通常我们将它2.3中央微处理器2.3.1中央微处理器的组成及其编程结构任务:执行存放在存储器里的指令序列。组成:算术逻辑部件

进行算术和逻辑运算。控制逻辑

负责对全机的控制工作。工作寄存器

存放计算过程中的各种信息。编程结构:CPU对汇编语言程序员来说,编程结构主要由一组可见寄存器组成。43操作数地址、操作数、运算的中间结果2.3中央微处理器2.3.1中央微处理器的组成及其编程结构447452.3.28086的寄存器组两大类:程序不可见寄存器和程序可见寄存器。程序不可见寄存器——一般应用程序中不使用而由系统使用的寄存器。程序可见寄存器——可以由指令使用的寄存器。包括三类:通用寄存器(8个)专用寄存器(2个)段寄存器(4个)82.3.28086的寄存器组两大类:程序不可见寄存器80X86程序可见寄存器组EAXALAH累加器EBXBLBH基址变址ECXCLCH计数器EDXDLDH数据ESPSP

堆栈指针EBPBP

基址指针ESISI源变址EDIDI目的变址EIPIP指令指针EFLAGSFLAGS标志CS

代码段DS

数据段ES

附加段SS

堆栈段FSGSAXBXCXDX80X86程序可见寄存器组EAXALAH累加器EBXBLB471.通用寄存器(1)数据寄存器AX(accumulator):累加器,在乘除、I/O指令中使用BX(base):通用,基地址寄存器CX(count):通用,计数器DX(data):通用,双字运算及I/O操作中使用。8个字节寄存器:AH、AL、BH、BL、CH、CL、DH、DL(2)指针或变址寄存器

SP(stackpointer)

:堆栈指针寄存器,用来指示栈顶的偏移地址

BP(basepointer):基址寄存器,与SS联用SI(sourceindex):源变址寄存器DI(destinationindex):目的变址寄存器。101.通用寄存器(3)32位通用寄存器EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI,在80386及其后继机型中,所有32位通用寄存器既可以存放数据,也可以存放地址,每个寄存器的专用特性与8086/8088和80286的一一对应2.专用寄存器(1)IP(instructionpointer)/EIP:指令指针寄存器存放代码段中的偏移地址,在程序的运行中始终指向下一条指令的首地址,与CS一起确定一条指令的物理地址。(2)FLAGS(ProgramStatusWord)/EFLAG:标志寄存器存放反映处理器和运行程序执行结果状态的。48(3)32位通用寄存器11493.段寄存器专用于存放段地址(1)CS

(CodeSegment):代码段寄存器(2)DS

(DataSegment):数据段寄存器(3)SS

(StackSegment):堆栈段寄存器(4)ES

(ExtraSegment):附加段寄存器(5)FS附加段寄存器:

附加段寄存器(6)GS附加段寄存器:附加段寄存器

(5)和(6)无缺省组合,必须加段前缀说明123.段寄存器508086/8088标志寄存器(FLAGS/PSW)条件码标志:控制标志:ZF零标志

DF方向标志SF符号标志

IF中断标志CF进位标志

TF陷阱标志OF溢出标志AF辅助进位标志PF奇偶标志1514131211109876543210CFPFAFZFSFTFIFDFOF138086/8088标志寄存器(FLAGS/PS其它FLAGS标志:(自学)IOPL(I/OPrivilegeLevel)I/O特权级NT(NestedTask)嵌套任务标志

;286增加RF(ResumeFlag)重新启动标志VM(Virtual8086Mode)虚拟8086模式位;386增加AC(AlignmentCheckMode)对准检查方式位;486增加VIF(VirtualInterruptFlag)虚拟中断标志VIP(VirtualInterruptPendingFlag)虚拟中断未决标志ID(IdentificationFlag)标识标志;Pentium增加其它FLAGS标志:(自学)52零标志ZF(ZeroFlag)若运算结果为0,则ZF=1,否则ZF=0。例如:3AH+7CH=B6H, 结果非零:ZF=084H+7CH=(1)00H, 结果是零:ZF=1注意:ZF为1表示的结果是015零标志ZF(ZeroFlag)若运算结果为0,则ZF53符号标志SF(SignFlag)运算结果最高位为1,则SF=1;否则SF=0。例如:3AH+7CH=B6H,最高位D7=1:SF=184H+7CH=(1)00H,最高位D7=0:SF=0有符号数据利用最高有效位表示数据的符号。所以,最高有效位就是符号标志的状态。16符号标志SF(SignFlag)运算结果最高位为1,则54进位标志CF(CarryFlag)当运算结果的最高有效位有进位(加法)或

借位(减法)时,进位标志置1,即CF=1;

否则CF=0。例如:3AH+7CH=B6H,即58+124=182

无进位:CF=0AAH+7CH=(1)26H,即170+124=294有进位:CF=117进位标志CF(CarryFlag)当运算结果的最高有效55溢出标志OF(OverflowFlag)若算术运算的结果有溢出,则OF=1;否则OF=0。溢出:有符号数运算结果超出了补码表示范围。处理器内部以补码表示有符号数

8位字长整数范围:-128~+127

16位字长整数范围:-32768~+32767例如:

3AH+7CH=B6H,即58+124=182

有溢出:OF=1AAH+7CH=(1)26H,即-86+124=28无溢出:OF=0什么是溢出?18溢出标志OF(OverflowFlag)若算术运算的结56溢出和进位进位标志CF

表示无符号数运算结果是否超出范围,运算结果仍然正确(配合进位)。溢出标志OF

表示有符号数运算结果是否超出范围,运算结果已经不正确。处理器按照无符号数求得结果,并设置进位标志CF;同时,根据是否超出有符号数的范围设置溢出标志OF。程序员决定应该利用哪个标志。

认为是无符号数运算,关心进位标志;

认为是有符号数运算,注意溢出标志。19溢出和进位进位标志CF表示无符号数运算结果是否超出范57例:MOVAX,FFFFHMOVBX,1ADDAX,BX

指令执行后,(AX)=0,OF=0,CF=1,ZF=1,SF=0例:MOVAX,1MOVBX,2ADDAX,BX

指令执行后,(AX)=3,OF=0,CF=0,ZF=0,SF=020例:MOVAX,FFFFH例:MOVAX,582.3.380x86CPU的工作模式80x86CPU的3种工作模式1.实模式

与8086兼容的工作模式,只有低20位地址线起 作用,仅能寻址第一个1MB的内存空间。

如:MSDOS运行在实模式下。2.保护模式 32位80x86CPU的主要工作模式,提供对程序

和数据进行安全检查的保护机制。

如:Windows9x/NT/2000运行在保护模式下。3.虚拟8086模式在Windows9x下,若打开一个MSDOS

窗口,运行一个DOS应用程序,那么该程序就

运行在虚拟8086模式下。212.3.380x86CPU的工作模式80x86592.4存储器2.4.1存储单元的地址和内容1.存储信息的基本单位bit计算机中信息表示的最小单位,byte(8位)数据存取的最小单位2.地址:每一字节单元的编号,地址空间的范围与地址

线数目有关。16位地址:0000H~FFFFH;20位地址:00000H~FFFFFH;3.内容:存储单元中存放的信息,如(0004)=78H4.汇编中的数据类型byte(8位)word(16位)

Dword(32位)

Fword(48位)……222.4存储器存储器结构...存储器0000H0001H0002H0003H0004H0005H0006HFFFEHFFFFH低字节高字节字单元字节单元低地址字节单元高地址字节单元563412存储器结构...612.4.1存储单元的地址和内容5.存储形式:“低对低、高对高”的小端方式。6.数据的地址对齐

同一个存储器地址可以是字节单元地址、字单元地址、双字单元地址等。字单元安排在偶地址(xxx0B)、双字单元安排在模4地址(xx00B)等被称为“地址对齐(Align)”。

对于不对齐地址的数据,处理器访问时,需要额外的访问存储器时间。1)多字节数据需占连续的多个存储单元,低字节存入低地址,高字节存入高地址。

2)多字节数据占据的地址空间用它的低地址表示。242.4.1存储单元的地址和内容1)多字节数据需占连续的6276543210100111110000H001001100001H000111100002H110101110003H存储器1514131211109876543210字高位字节低位字节1001111100100110(0000H)=269FH(0002H)=D71EH(0001H)=1E26H

访问两次存储器(0000H)=9FH(0001H)=26H(0002H)=1EH(0003H)=D7H25765432632.4.2实模式存储器寻址8086/8088只能在实模式下。1.存储器地址的分段

问题:16位结构cpu如何解决20位地址的问题?解决:将存储器分段(逻辑上),每段最大不超过64KB,段内单元地址可用16位表示,称为偏移地址,每段的起始地址称为段地址(或段基址)。

规定:1)段地址必须取为小段首址。 2)从0地址单元开始,每16个单元为一小段。小段首地址为:00000H,00010H,00020H,…,FFFF0H。在一个1M的存储器里,共有64K个小段。16位结构CPU的特征:1)16位字长;2)16位寄存器(最大宽度);3)16位数据线。导致:cpu只能传送16位的地址,寻址能力只有64K8086的内存空间:1)内存是一维的线性空间。2)每一个内存单元在这个空间中都有唯一的物理地址;

3)有20位地址总线,可传送20

位地址,寻址能力为1M。262.4.2实模式存储器寻址8086/8088只能642.4.2实模式存储器寻址8086/8088只能在实模式下。2.物理地址的计算方法逻辑地址

由段地址和偏移地址组成。物理地址=16D×

段地址+偏移地址

16位段地址015

16位偏移地址015+0

20位物理地址190000显然,一个物理地址可以有多个逻辑地址地址加法器的工作过程8086CPU给出物理地址的方法272.4.2实模式存储器寻址8086/8088只能存储器分段管理的地址概念图示:段内偏移量偏移地址=段起始地址64K段内地址0000H0001H……0FFFH…….FFFFH64K段内地址0000H0001H……FFFFH30000H段内偏移量偏移地址=段起始地址40000H30000H+0FFFH=30FFFH物理地址......存储器0FFFH存储器分段管理的地址概念图示:段内偏移量偏移地址=段起始地址66思考:1)1MB空间最多能

温馨提示

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

评论

0/150

提交评论