第3章 存储器的分段.ppt
文本预览下载声明
* 汇编语言程序设计 第3章 存储器的分段 第*页 第*页 * 本章要求 教学重点及难点: 物理地址计算 1.了解存储器地址和内容的概念; 2.了解存储器地址分段的方式; 3.掌握逻辑地址和物理地址的概念及计算方式; 4.了解堆栈的概念及外部设备。 计划学时: 2学时 第3章 存储器的分段 3.1 存储单元的地址和内容 基本概念: 计算机存储信息的基本单位是位(Bit),一位可存储一个二进制数。每8个位组成一个字节。 存储器存储信息的基本单位是字节(Byte),由8个二进制位组成。位编号如下 : 在存储器中,每一个字节单元都有一个与之对应的、唯一的存储器地址 。称为物理地址。对于16位字长的PC机(8086/8088),由两个字节组成一个字(Word)。其位编号如下: 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 高位字节MSB 低位字节LSB 地址的定义 每一个字节单元都有一个与之对应的单元地址 。 对于字单元,由两个字节单元组成,其地址是采用低位字节地址来表示的。 对于多字单元(双字,4字等),其地址同样是采用最低位字节地址来表示的。 地址范围:不同机器,其可以访问的物理地址范围是不同的,一般由系统的地址总线宽度决定 。 例如:8086的地址总线为20位,其地址访问范围是:0H---0FFFFFH 。而Pentium II的地址总线为36位,则地址范围是:0H---0FFFFFFFFFH。 存储单元的内容 定义:存储单元中存放的信息称为该存储单元的内容 表示:存储地址加” ( ) ” 如果用X表示某存储单元的地址,则X单元的内容可以表示为 (X); 假如X单元中存放着Y,而Y又是一个地址,则可用(Y)=((X))来表示Y单元的内容。 34H 12H … 1EH 2FH 字节 0000H 0001H 0002H 0003H 0004H 0005H 0006H 1234H 1235H 0004H字节单元的内容: (0004H)=34H 0004H字单元的内容: (0004H)=1234H 0004H字单元的内容为1234H,表示为: (0004H)=1234H 0004H字节单元存放的信息为34H,表示:(0004H)=34H 字单元由两个字节单元组成,其地址采用它的低地址来表示。 字存入存储器:低位字节存入低地址单元,高位字节存入高地址单元。 假如X单元中存放着Y,而Y又是一个地址,则可用(Y)=((X))来表示Y单元的内容。 34H 12H … 1EH 2FH 字节 0000H 0001H 0002H 0003H 0004H 0005H 0006H 1234H 1235H 直接表示1234H字单元的内容: S=(1234H)=2F1EH 直接给出S的单元地址, (1234H)=2F1EH 例如,1234H字单元的内容为S,有两种表示方式: 间接表示1234H字单元的内容: S=((0004H))= (1234H)= 2F1EH S的单元地址存放在0004H字单元中,(0004H)=1234H 从0004H字单元中取出S的单元地址,再把S的内容读出来: ((0004H))=2F1EH 8086/8088 CPU 有20根地址总线A19A18…A1A0,可以访问存储器的最大容量为:220B=1024KB=1MB,在8086 CPU 中所有可用来存放地址的寄存器都是16位的。 3.2 存储器地址的分段 在IBM PC机里采用了存储器地址分段的办法。把1MB的存储空间划分成若干个段(Segment),每个段可由1~64KB(即65536B)个连续的字节单元组成。每个段是一个可独立寻址的逻辑单位。 在8086/8088的程序设计中,需要设立几个段,每个段有多少个字节以及每个段的用途完全由用户自己确定。同时每个段中存储的代码或数据,可以存放在段内任意单元中。 那么在16位字长的机器里,用什么办法来提供20位地址呢? 分段的基本规则 在编制程序时,要把存储器划分成段,每个段最大可达64KB,这样段内地址可以用16位表示。 PC机对段的起始地址有限制,段不能起始于任意地址,而必须从任一小段(Paragraph)的首地址开始。 机器规定:从0地址开始,每16个字节为一小段。 00000,00
显示全部