计算机软件课次
第1页,此课件共48页哦
数据在存储器中的存放
第2页,此课件共48页哦
若存放的是字型数据(16位二进制数),则将字的低位字节存放在低地址单元,高位字节存放在高地址单元。如。如果当前的(IP)=1000H,那么,下一条要读取的指令所在存储单元的物理地址为:
(CS)10H+(IP)=1000H10H+1000H=11000H
如果某操作数在数据段内的偏移地址为8000H,则该操作数所在存储单元的物理地址为
(DS)10H+8000H=2A0FH10H+8000H=320F0H
第9页,此课件共48页哦
存储器分段示意图
第10页,此课件共48页哦
4.堆栈操作
堆栈是在存储器中开辟的一个特定区域。开辟堆栈的目的主要有以下两点:
(1) 存放指令操作数(变量)。此时,对操作数进行访问时,段地址由堆栈段寄存器SS来提供,操作数在该段内的偏移地址由基址寄存器BP来提供。
(2) 保护断点和现场。此为堆栈的主要功能。
第11页,此课件共48页哦
进栈和出栈操作过程
在执行进栈和出栈操作时,段地址由堆栈段寄存器SS提供,段内偏移地址由堆栈指针寄存器SP提供,SP始终指向栈顶,当堆栈空时,SP指向栈底。,设在存储器中开辟了100H个存储单元的堆栈段,当前(SS)=2000H,堆栈空时(SP)=0100H,即此时SP指向栈底((a)所示)。由于PUSH和POP指令要求操作数为字型数据,因此,每进行一次进栈操作,SP值减2((b)所示),每进行一次出栈操作,SP值加2((c)所示)。在进栈和出栈操作过程中,SP始终指向栈顶。
第12页,此课件共48页哦
进栈与出栈操作示意图
第13页,此课件共48页哦
5.8086/8088存储器结构
8086的1 MB存储空间实际上分为两个512 KB的存储体,又称存储库,分别叫高位库和低位库,。低位库与数据总线D7D0相连,该库中每个存储单元的地址为偶数地址;高位库与数据总线D15D8相连,该库中每个存储单元的地址为奇数地址。地址总线A19A1可同时对高、低位库的存储单元寻址,A0和BHE用于对库的选择,分别连接到库选择端SEL上。当A0=0时,选择偶数地址的低位库;当BHE=0时,选择奇数地址的高位库;当两者均为0时,则同时选中高低位库。利用A0和BHE这两个控制信号,既可实现对两个库进行读/写(即16位数据),也可单独对其中一个库进行读/写(8位数据),。
第14页,此课件共48页哦
8086存储器高低位库的连接
第15页,此课件共48页哦
8086存储器高低位库选择
A0
对 应 操 作
0
0
同时访问两个存储体,读/写一个字的信息
0
1
只访问奇地址存储体,读/写高字节的信息
1
0
只访问偶地址存储体,读/写低字节的信息
1
1
无操作
第16页,此课件共48页哦
在8086系统中,存储器这种分体结构对用户来说是透明的。当用户需要访问存储器中某个存储单元,以便进行字节型数据的读/写操作时,指令中的地址码经变换后得到20位的物理地址,该地址可能是偶地址,也可能是奇地址。如果是偶地址(A0=0),BHE=1,这时由A0选定偶地址存储体,通过A19A1从偶地址存储体中选中某个单元,并启动该存储体,读/写该存储单元中一个字节信息,通过数据总线的低8位传送数据,(a)所示;如果是奇地址(A0)=1,则偶地址存储体不会被选中,也就不会启动它。为了启动奇地址存储体,系统将自动产生BHE=0,作为奇地址存储体的选体信号,与A19A1一起选定奇地址存储体中的某个存储单元,并读/写该单元中的一个字节信息,通过数据总线的高8位传送数据,(b)所示。可以看出,对于字节型数据,不论它存放在偶地址的低位库,还是奇地址的高位库,都可通过一个总线周期完成数据的读/写操作。
第17页,此课件共48页哦
如果用户需要访问存储器中某两个存储单元,以便进行字型数据的读/写时,可分两种情况来讨论。一种情况是用户要访问的是从偶地址开始的两个连续存储单元(即字的低字节在偶地址单元,高字节在奇地址单元),这种存放称为规则存放,这样存放的字称为规则字。对于规则存放的字可通过一个总线周期
计算机软件课次 来自淘豆网m.daumloan.com转载请标明出处.