- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言学习第2章
2、存储单元地址 存储器(内存)是存放指令和数据的部件,由若干内存单元构成。 8086/8088的内存以字节编址:每个内存单元有唯一的地址,可存放1个字节。 要正确理解内存单元的2个要素:地址(编号)与值(内容)。 1)存储单元的地址:众多的存储单元以存储单元的地址加以区分。存储单元地址从0开始顺序编址,依次加1。存储单元的地址是无符号数。 2)存储单元的内容:一个存储单元中存放的信息称为该存储单元的内容。 1个字占据2个相邻的内存单元;低字节在低地址单元,高字节在高地址单元;字的地址由其低地址来表示。双字也类似。 同一地址可以看作是字节、字或双字单元的地址,取决于具体的使用方式。 …… …… …… 78H 56H 00H 30H 85H A2H 00000H 02000H 02001H 02002H 02003H 03000H 03001H FFFFFH 存储器组织结构图: 02002H的字节单元内容: (02002H)=00H 02002H的字单元内容: (02002H)=3000H 02000H的双字单元内容: (02000H) 2.4.2存储器寻址 1、物理地址(PA) 8086可直接寻址1Mbyte的存储空间,其地址区域为00000H-FFFFFH,与存储单元一一对应的20位地址,我们称之为存储单元的物理地址。 2、存储器的分段及段地址 由于8086可以寻址20位地址空间,所以字或字节必须表示成20位的二进制。但是8086 CPU内部的寄存器都是16位的,它只能处理16位长的字,为了能够提供20位的物理地址,系统中采用了存储器分段的方法。 每个逻辑段必须满足两个条件: 一是逻辑段的起始字节单元物理地址(简称段首址)必须是16的倍数,即20位物理地址的最末4位为全0; 二是逻辑段的最大长度为64KB,最小长度为1B。 几点说明: 可以把存储器分成许多个逻辑段;(最少可划分为16个逻辑段) 程序运行时任一时刻,只能同时使用最多4个段:代码段,堆栈段,数据段,附加段 段与段可以相互重叠(全部或部分) 1MB的地址空间里满足条件的段首址由64K个。如下: 00000H,00010H,00020H,00030H…………FFFE0H,FFFF0H ∶ ∶ ∶ ∶ 00000H 图 2 - 3 存储器分段示意图 逻辑段 1 起点 逻辑段 2 起点 逻辑段 3 起点 逻辑段 4 起点 FFFFFH 逻辑段 1 ≤ 64KB 逻辑段 2 ≤ 64KB 逻辑段 3 ≤ 64KB 逻辑段 4 ≤ 64KB 40000H 40001H 3FFFFH ??? ??? 4FFFFH 50000H 5FFFFH M 4000H DS 0FFFFH 段地址 偏移量 4000H:0001H 4000H:FFFFH 存储器的分段 3、偏移地址(EA) 偏移地址:是某存储单元相对其所在段起始位置的偏移字节数,或简称偏移量。 4、逻辑地址(LA) 逻辑地址:是由段地址和偏移地址两部分组成(16位),两个16位地址表示一个20位地址的方式,就叫做逻辑地址。在程序中,我们只用逻辑地址。 逻辑地址的表示形式为“段地址∶偏移地址”。 段地址:表示段在内存中的起始位置,通常被保存在某个段寄存器中。 段内偏移地址:表示内存单元相对于段起始位置的位移,简称偏移地址,也叫有效地址EA。 5、物理地址的形成 物理地址=段地址×10H+偏移地址 在逻辑地址中的段地址右边补上4个0(二进制位),形成20位的段起始地址,再加上偏移量,即得到物理地址。 例2.1某数据存放在数据段DS=2000H,段内偏移地址为1234H的内存单元,该地址用逻辑地址可以表示为:2000H:1234H 6、特殊内存区域 每个内存单元具有唯一的物理地址,但可由不同的逻辑地址描述。 由于逻辑段可以重叠,因此不同的逻辑地址可以得到同一个物理地址。 例:请将下列逻辑地址换为物理地址。 (1)2000H:0120H (2)2010H:0020H (3)3000H:3000H 解: (1)物理地址为:20000H+0120H = 20120H (2)物理地址为:20100H+0020H = 20120H (3)物理地址为:30000H+3000H = 33000H 2.4.3 Intel的32位CPU在不同模式下寻址 1、实模式: 只能访问实地址的工作模式。Intel32位CPU被复位或加电时以实模式启动。 特点: 1)Intel32位CPU都只有低20位地址线起作用,仅能寻址第一个1MB的内存空间,禁用CPU的所有保护功能,也不支持分页; 2)采用16位分段,段地址与偏移地址都是1
文档评论(0)