代码段寄存器 CS 数据段寄存器 DS 堆栈段寄存器 SS E数据段寄存器 ES F数据段寄存器 FS ////// G数据段寄存器 GS
代码段寄存器 / CS / 数据段寄存器 / DS / 堆栈段寄存器 / SS / E数据段寄存器 / ES / F数据段寄存器 / FS / G数据段寄存器 / GS /
注意: (1)当指令中的源操作数和目的操作数都是 寄存器时,必须采用同样字长的寄存器,否则 汇编时会出错; (2)两个操作数不能同时为段寄存器; 3)目的操作数不能是代码段寄存器,例如 指令 MOV CS,AX,汇编时没有出错,可得机 器码为8EC8H,但执行时会发生问题
注意: (1)当指令中的源操作数和目的操作数都是 寄存器时,必须采用同样字长的寄存器,否则 汇编时会出错; (2)两个操作数不能同时为段寄存器; (3)目的操作数不能是代码段寄存器,例如 指令MOV CS,AX,汇编时没有出错,可得机 器码为8EC8H,但执行时会发生问题
存储器寻址 1.16位系统中的存储器寻址(8086) 由段基址(SBA, Segment Base Address)和有效地址 (EA, Effective Address)合而成。 段基址与段基值 段基值是段基址的前16位(2进制),存放在段 寄存器中,在16位处理器中为CS、DS、SS、ES。 关键是有效地址的计算 由BXBP、SIDI、 DISPO/DISP16中任取1,2,3 组合而成
三、 存储器寻址 1. 16位系统中的存储器寻址(8086) ➢ 由段基址(SBA,Segment Base Address)和有效地址 (EA,Effective Address)组合而成。 ➢ 段基址与段基值 段基值是段基址的前16位(2进制),存放在段 寄存器中,在16位处理器中为CS、DS、SS、ES。 ➢ 关键是有效地址的计算。 由BX/BP、SI/DI、DISP8 /DISP16中任取1 ,2,3 个组合而成
16位系统中的“物理地址”与“逻辑地 址 逻辑地址有“段基值”和“偏移地址” 两部分。偏移地址即有效地址 注意逻辑地址的隐含约定(见第2章)。 80286以及32位微处理器在实地址方式 下只能访问MB内存
➢16位系统中的“物理地址”与“逻辑地 址”。 逻辑地址有“段基值”和“偏移地址” 两部分。偏移地址即有效地址。 注意逻辑地址的隐含约定(见第2章)。 80286以及32位微处理器在实地址方式 下只能访问1MB内存
2.32位系统中的存储器寻址 32位处理器可访问字节、字和双字,并有2个更 大的存储单位段和页。 可变长度(最大4GB)的段,可以同磁盘交换信 息,可由若干程序共享。分段是应用程序员的有效 工具 页的容量为4GB,分页是系统程序员管理一个系 统的物理存储器的有用工具。 32位系统的存储器采用分段和分页的工具为系统 设计员提供了极大方便
2. 32位系统中的存储器寻址 32位处理器可访问字节、字和双字,并有2个更 大的存储单位-段和页。 可变长度(最大4GB)的段,可以同磁盘交换信 息,可由若干程序共享。分段是应用程序员的有效 工具。 页的容量为4GB,分页是系统程序员管理一个系 统的物理存储器的有用工具。 32位系统的存储器采用分段和分页的工具为系统 设计员提供了极大方便