汇编语言程序设计及上机指导第2章寄存器与存储器.ppt

上传人:小飞机 文档编号:6388967 上传时间:2023-10-26 格式:PPT 页数:11 大小:369.82KB
返回 下载 相关 举报
汇编语言程序设计及上机指导第2章寄存器与存储器.ppt_第1页
第1页 / 共11页
汇编语言程序设计及上机指导第2章寄存器与存储器.ppt_第2页
第2页 / 共11页
汇编语言程序设计及上机指导第2章寄存器与存储器.ppt_第3页
第3页 / 共11页
汇编语言程序设计及上机指导第2章寄存器与存储器.ppt_第4页
第4页 / 共11页
汇编语言程序设计及上机指导第2章寄存器与存储器.ppt_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《汇编语言程序设计及上机指导第2章寄存器与存储器.ppt》由会员分享,可在线阅读,更多相关《汇编语言程序设计及上机指导第2章寄存器与存储器.ppt(11页珍藏版)》请在三一办公上搜索。

1、第2章 寄存器与存储器,【本章提要】本章将着重讲解Intel系列CPU内部寄存器的组织结构、命名、功能及其常见的用途,还要介绍存储器的分段管理模式、存储单元地址的表示法以及其物理地址的形成方式。【学习目标】熟练掌握CPU内部寄存器的组织结构 熟练掌握标志寄存器各定义位的功能 掌握存储器的分段管理方案,2023/10/26,2.1 寄存器组织,寄存器是CPU内部重要的数据存储资源,是汇编程序员能直接使用的硬件资源之一。Intel系列微处理器从早期的16位8086开始,到Pentium系列,以至于现在的CORE(酷睿)系列,虽然CPU内部结构和功能变化很大,但其寄存器的组织情况却是有规律的。,20

2、23/10/26,2023/10/26,2.1.2 标志寄存器,Intel的16位CPU中设置了16位的标志寄存器FLAGS,其中定义了9个标志位,主要用来反映CPU的状态和运算结果的特征。后来在32位和64位环境下,FLAGS又分别被扩展到了32位和64位(即EFLAGS和RFLAGS),同时又增加一些新的标志位定义。,2023/10/26,1、进位标志CF(Carry Flag)如果运算结果的最高位产生了一个进位或借位,其值为1,否则其值为0。2、奇偶标志PF(Parity Flag)运算结果中最低8位中“1”的个数为偶数,则PF的值为1,否则其值为0。3、辅助进位标志AF(Auxilia

3、ry Carry Flag)在字操作时,发生低字节向高字节进位或借位,或者在字节操作时,发生低4位向高4位进位或借位,则AF的值被置为1,否则其值为0。4、零标志ZF(Zero Flag)如果运算结果为0,则其值为1,否则其值为0。5、符号标志SF(Sign Flag)符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。6、溢出标志OF(Overflow Flag)如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。,2023/10/26,7、追踪标志TF(Trap Flag)当追踪标志TF被置为1时,CPU进入单步执行方式,即每执行一

4、条指令,产生一个单步中断请求。8、中断允许标志IF(Interrupt-enable Flag)中断允许标志IF是用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。(1)当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求;(2)当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。9、方向标志DF(Direction Flag)方向标志DF用来决定在串操作指令执行时有关指针寄存器发生调整的方向。,2023/10/26,2.2 存储器的管理模式,Intel的80X86系列CPU基本上采用内存分段的管理模式。它把内存和程序分成若干个段,每个段的起点用一个段寄存器来

5、保存。2.2.1 实地址方式内存管理目前的Intel系列CPU都能工作在实地址方式或保护地址方式下。实地址方式下只能访问1MB的内存空间,只能单任务运行,8086只有这一种工作方式,80286以后的系列CPU的可以运行在保护地址方式。如果工作在实地址模式,则任何高档处理器只相当于快速的8086,因此寻址方法与8086一样,在这种方式下处理器没有充分发挥处理器的性能。只有在保护方式下,处理器才真正发挥应有的作用。,2023/10/26,1段地址与偏移地址在实地址方式下,段地址定义了段起始地址的高16位,并存放在段寄存器中。逻辑段的起始地址(通常简称为:段地址)必须是16的倍数,即最低4位二进制必

6、须全为0。1M内存最多可分成64K个段,即65536个段(段之间相互重叠),至少可分成16个相互不重叠的段。偏移地址描述目的地址在该段中的相对位置,即离段基址的偏移量,它指示在64KB段内任何一个单元。偏移地址保存在16位寄存器中,因此段的大小最大为64KB。2.默认段地址与偏移地址寄存器,2023/10/26,3.逻辑地址与物理地址,逻辑地址是段地址与偏移地址的合称,用“段地址:偏移地址”表示,如1234H:1200H表示段地址为1234H,段内偏移地址为1200H。物理地址是存储器的实际地址,在实地址方式下物理地址通过段地址乘以16加上偏移地址得到。而16位的段地址乘以16等同于左移4位二

7、进制位,这样变成20位的段基地址,最后段基地址加上段内偏移地址就是物理地址。【例2.1】有一逻辑地址为1200H:0340H,求物理地址。解:由逻辑地址知段地址=1200H,偏移地址=0340H,因此物理地址=12000H+0340H=12340H。【例2.2】已经DS=1000H,CS=2200H,指令MOV 2000H,AX在代码段中的偏移量是IP=0150H,求(1)该指令所在的物理地址。(2)目的操作数对应的物理地址。解:(1)指令对应的物理地址=CS*16+IP=22000H+0150H=22150H。(2)该指令指示的目的操作数对应段地址默认存在DS中,偏移地址已由指令给出2000

8、H,因此该指令指示的目的操作数所在物理地址=DS*16+2000H=10000H+2000H=12000H。,2023/10/26,4.存储单元的内容,存储单元是按照地址进行访问的,相邻两个单元的地址编号是连续的,一般以无符号数表示,Intel系列CPU都以字节为单位分配地址编号的。1)一个字节的内容占用一个存储单元并分配一个地址 编号;2)一个字的内容是该字地址所指向的单元及其后继1个 单元的内容拼接而成;3)一个32位的内容是该字地址所指向的单元及其后继 3个单元的内容拼接而成;4)一个64位的内容是该字地址所指向的单元及其后继 7个单元的内容拼接而成。在拼接多个内存单元时,按“高对高低对低”的原则来处理,即:高存储单元(地址大的存储单元)的值是高数据位,低存储单元(地址小的存储单元)的值是低数据位。,2023/10/26,2.2.2 保护方式内存管理模式略,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号