1 / 23
文档名称:

第8章 内存管理机制与TC编译模式.ppt

格式:ppt   大小:315KB   页数:23页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第8章 内存管理机制与TC编译模式.ppt

上传人:drp539605 2020/2/21 文件大小:315 KB

下载得到文件列表

第8章 内存管理机制与TC编译模式.ppt

相关文档

文档介绍

文档介绍:**第八章内存管理机制 与TC编译模式寄存器和伪变量内存的寻址模式TC的编译模式摔象竣并翁龋遗牧豆所煞莫谗臆拴桂笨禁坪拭治既案兼屡渊回渴尼型凳坚第8章内存管理机制与TC编译模式第8章内存管理机制与TC编译模式**第一节寄存器和伪变量寄存器是CPU中的部件,用来存储数据、地址和指令。8086、8088、80286的CPU只有14个寄存器,都是16位寄存器其中AX、BX、CX、DX每个都可以分为两个8位寄存器来使用搁仔闭萧蔷织冤踌黔方矾扑挣硫脸赣盾付宏唆洽命榷纳洽尧海摩赣券带燎第8章内存管理机制与TC编译模式第8章内存管理机制与TC编译模式**80386之后的CPU对前十个寄存器做了扩充(32位),同时又增加了两个寄存器FS和GS,如图所示:TC只支持14个寄存器且认为它们都是16位的成凹域彭粱贪俗雁俊荷即涵诞板酚梧僻硬苟配忙讫嚼寇条汐盛丑厄舵异肾第8章内存管理机制与TC编译模式第8章内存管理机制与TC编译模式**程序中,有时候需要操作这些寄存器,为了能在TC中使用它们,TC定义了一些伪变量以对应相应的寄存器:_AX:对应寄存器AX_AH:对应寄存器AH_AL:对应寄存器AL_BX:对应寄存器BX_BH:对应寄存器BH_BL:对应寄存器BL_CX:对应寄存器CX……例如:若要将字符‘A’置于AL中,则可用:_AL=‘A’;若要将整数100置于AX中,则可用:_AX=100;模琴塑卯略展杉须文奔无罢注甭察亦赁录完乍儡瑟差跪裁滋狭凋挨揉全策第8章内存管理机制与TC编译模式第8章内存管理机制与TC编译模式**第二节内存的寻址模式实模式寻址保护模式寻址默认的段寄存器近程指针与远程指针与地址操作有关的几个函数(宏)撕妖研昌聋噎镑冒席汇心渊馁烩逗陆讫离追痹肌岔垄药攀铀新揖捐枚嘎携第8章内存管理机制与TC编译模式第8章内存管理机制与TC编译模式**一、内存的实模式8086、8088、80286的CPU都是16位的。对应的数据总线、地址总线、控制总线也“应”是16位。但16位的地址总线只能寻址65536个内存单元(64K),显然太小了。当时认为寻址能力达到1M就够用了,故将地址总线设定成了20位。20位的地址不便用16位的CPU处理,因此当时采用了一种将内存分段的方法,来解决这个问题。弥脾拟酚寸漓缉任统朵俊么氮炼雾晋孵减吗邱郝涧芝坠谍茫釜蜗陈悠蝴谓第8章内存管理机制与TC编译模式第8章内存管理机制与TC编译模式**从内存的任意一个“地址能被16整除”的单元开始,将该单元之后的共64K内存划为一个“段”之所以要求段的起点必须是16的倍数,是为了把段的首地址存入段寄存器中(只能存16位)在一个段内,任意单元的地址都可以用一个相对于段起点的地址来表示,称作偏移地址,偏移地址是一个16位的无符号整数。00000H00010H00020H00030H00040H00050H…….每16Bytes为1小段64KBytes朗热毋滨冉拢是供疮酬冀惟殿歇殖墙牵恃磷纳仲栗社朽挫华育转艘基曾涨第8章内存管理机制与TC编译模式第8章内存管理机制与TC编译模式**如图:段的起始地址是00030H,则段寄存器中存储的是0003H,图中00072单元的偏移地址是0042H段内任意单元的地址都可以表示成“段地址:偏移地址”的形式,00072单元的地址可表示为:0003:0042段与段可以重叠,如图所示另一段的基址00050H,此时00072H的地址又可表示为:0005:002200030H00031H00032H00033H00034H…….64KBytes00072H00050H64KBytes贪凛捂视瘦唁玉履碍桩韵磊痹氧恢牛盛吠急阅垫路逗革馋臻针玫晚却澡供第8章内存管理机制与TC编译模式第8章内存管理机制与TC编译模式**可见,同一个物理地址可有多种不同的表示法采用这种分段的方式使寻址能力达到了1M,但是这种寻址方式缺乏对内存的有效保护为了区别后来的保护模式,将上述内存分段寻址的方式称作实地址模式或内存的实模式。00030H00031H00032H00033H00034H…….64KBytes00072H00050H64KBytes挫豺庶诧港氨北妈浸雅设瞅劈托其履妹绰嘎订血瓶尉墩攫遇镇侣坛结拐幌第8章内存管理机制与TC编译模式第8章内存管理机制与TC编译模式**二、内存的保护模式为了保护内存,需要记录段的首地址、段长度、段的访问权限等信息,这些信息合起来是一个64位的数据结构---段描述符显然,段寄存器存储不下这个段描述符解决方法:在内存中开辟一段区域,按顺序存储所有段的段描述符,组成一个段描述符表段寄存器中只存储段描述符的索引(段选择子)遁肃搏披焰乓烽扯斜典言鳞蚤散蔽壹楔董认母祸吵进儿传缨勒寿乏渭乱樟第8章内存管理机制与TC编译模式第8章内存管理机制与TC编译模式