第二章 80X86微处理器PPT课件

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

80x86/Pentium处理器的寄存器模型
2
❖ EIP是一个专用寄存器,用于寻址当前需要 取出的指令字节。当CPU从内存中取出一个指 令字节后,EIP就自动加1,指向下一指令字节。 当微处理器工作在实模式下时,这个寄存器为 IP(16位);当80386及更高型号的微处理器工作 于保护模式下时,则是EIP(32位)。
❖ 逻辑地址是编程时所使用的地址。或者说程序设计时 所涉及的地址是逻辑地址而不是物理地址。编程时不 需要知道产生的代码或数据在存储器中的具体物理位 置。这样可以简化存储资源的动态管理。在实模式下 的软件结构中,逻辑地址由“段基值”和“偏移量” 两部分构成。
11
逻辑地址
.
15 段寄存器 0
. 段基值(16位)
从地址FFFF0H~FFFFFH这16个字节单元保留给系 统的初始化代码。当处理器加电或复位(Reset)时, CPU执行的第一条指令就是起始于地址FFFF0H的。通 常是在FFFF0H处存放一条无条件转移指令,以转移到 系统程序的入口处。
通用区域用来存储一般的程序指令和数据。由图可
见,它的地址范围为00400H~FFFEFH。
在实模式下存储器的地址空间为1M字节单元, 其地址范围为00000H~FFFFFH。
实模式下的存储器地址空间被分为通用和专用两 种存储区。
从地址00000H~003FFH这第一个1024个字节单 元是专用的。这个存储区为中断向量表区,专门用 来存放256个中断服务程序的入口地址(也称中断向 量),每个入口地址占4个字节单元。
标 跟踪标志 志
Trace Flag
进位标志
奇偶标志

半进位标志 态
零标志
标 志
符号标志
溢出标志
4
❖ 六个状态标志的功能简述如下:
❖ (1) 进位标志CF(Carry Flag): 当执行算术运算指令时, 其结果的最高位有进位或借位时将CF置1;否则将CF 置0。
❖ (2) 奇偶标志PF(Parity Flag): 该标志位反映操作结果 低8位中“1”的个数情况,若为偶数个“1”,则将PF置 “1”;若为奇数个“1”,则将PF置“0”。
❖ (3) 辅助进位标志AF(Auxiliary carry Flag):辅助进位标 志也称“半进位”标志。AF=1,表示本次运算的低4 位中的最高位有进位(加法运算时)或有借位(减法运算 时)。AF一般用于BCD运算中是否进行十进制调整的依 据。十进制调整指令DA(Zero Flag):反映运算结果是否为零。若 结果为零,则ZF=1;若结果不为零,则ZF=0。
“溢出”与“进位”是两种不同的概念。某次运算结果有 “溢出”,不一定有“进位”;反之,有“进位”,也 不一定发生“溢出”。另外,“溢出”标志实际上是针 对有符号数运算而言,对于无符号数运算,不考虑溢出 6 标志。
例:指出80x86CPU执行如下指令后,标志寄存器中各状态 标志位的值:
(1) MOV AX,32C5H
❖ 程序员不能对EIP/IP进行存取操作。程序中 的转移指令、返回指令以及中断处理能对 EIP/IP进行操作。
3
8086/8088标志寄存器的格式及各位的功能
.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IF TF SF ZF
AF
PF
CF
方向标志
控 制
中断标志
以部分重叠,甚至完全重叠。 ❖ 段的起始地址的计算和分配通常是由操作系统完成的,
并不需要普通用户参与。
10
物理地址与逻辑地址
❖ 物理地址是信息在存储器中实际存放的地址,它是 CPU访问存储器时实际输出的地址。例如,实模式下 的80x86/Pentium系统的物理地址是20位,存储空间为 220=1M字节单元,地址范围从00000H到FFFFFH。 CPU和存储器交换数据时所使用的就是这样的物理地 址。
15
0
段基值(16位) 0000
5
❖ (5) 符号标志SF(Sign Flag):反映带符号数(以二进制补 码表示)运算结果符号位的情况。若结果为负数,则SF =1;若结果为正数,则SF=0。SF的取值总是与运算 结果的最高位(字节操作为D7,字操作为D15,双字操 作为D31)取值一致。
❖ (6) 溢出标志OF(Overflow Flag):反映有符号数运算结 果是否发生溢出。若发生溢出,则OF=1;否则,OF =0。所谓溢出,是指运算结果超出了计算装置所能表 示的数值范围。例如,对于字节运算,数值表示范围 为-128~+127;对于字运算,数值表示范围为-32768~ +32767。若超过上述范围,则发生了溢出。溢出是一 种差错,系统应做相应的处理。
8
FFFFFH
FFFF0H FFFEFH
专用区
通用区
00400H 003FFH
00000H
专用区
实模式下存储器地址空间
9
❖ 为什麽要采用存储器“分段”技术?
实模式下CPU可直接寻址的地址空间为220=1M字节 单元。CPU需输出20位地址信息才能实现对1M字节单 元存储空间的寻址。但实模式下CPU中所使用的寄存 器均是16位的,内部ALU也只能进行16位运算,其寻 址范围局限在216=65536(64K)字节单元。为了实现对 1M字节单元的寻址,80x86系统采用了存储器分段技 术。 ❖ 各个逻辑段在实际的存储空间中可以完全分开,也可
(2) MOV AX,0E453H
ADD AX,546AH
ADD AX,0C572H
解 (1)00101 (2)11111
+ 01010
+ 11010
11111
10101
所以, OF=1 SF=1 ZF=0
AF=0 PF=0 CF=0
OF=0 SF=1 ZF=0 AF=0 PF=1 CF=1
7
实模式下的存储器地址空间
❖ 寄存器 ❖ 存储器分段及地址 ❖ 堆栈 ❖ 微处理器的工作模式 ❖ 发展新技术
1
31
EAX EBX ECX EDX ESP EBP ESI EDI
EIP EFLAGS
15
0
AH AL AX BH BL BX CH CL CX DH DL DX
SP BP SI DI
IP FLAGS
CS DS ES SS FS GS
相关文档
最新文档