一、存储器
1. 按“高高低低”的原则来处理,即:高存储单元(地址大的存储单元)的值是“字内容”的高8位,低存储单元(地址小的存储单元)的值是“字内容”的低8位。
2.存储器的逻辑地址是由程序员或操作系统分配的虚拟地址,用于访问存储器中的数据。逻辑地址是在程序执行时使用的,它并不直接对应实际的物理存储器位置。物理地址是实际存在于存储器芯片或存储设备上的地址,用于指示数据在存储器中的实际位置。物理地址是硬件系统使用的地址,它对应着存储器芯片中的特定存储单元或存储设备的物理位置。
在计算机系统中,逻辑地址需要通过地址转换机制转换为物理地址才能真正访问存储器中的数据。这个转换过程由硬件中的内存管理单元(Memory Management Unit,简称MMU)或操作系统中的内存管理模块完成。通过地址转换,逻辑地址可以映射到实际的物理地址,从而实现对存储器的访问。
偏移地址,也称为偏移量,是指在访问存储器时相对于数据所在单元的偏移量。在计算机中,存储器通常被组织成一系列的存储单元,每个存储单元可以存储一个字节或更多的数据。当要访问存储器中的某个数据时,需要给出该数据的地址,而该地址通常由两部分组成:段地址和偏移地址。偏移地址是表示数据在所在存储单元中的位置的一个值,它通常是一个整数,用字节作为单位来度量。偏移地址加上段地址就可以得到数据在存储器中的实际物理地址,从而可以访问该数据。
物理地址PA=段地址×16 + 偏移量。对物理地址来说,当段地址变化时,只要对其偏移量进行相应的调整就可对应同一个物理地址,所以,同一个物理地址可有多个逻辑地址。
二、中央处理器
1.
2.变址寄存器
寄存器SI和DI(ESI,EDI)称为变址寄存器(Index Register),主要用于存放某个存储单元的偏移地址。SI是源变址寄存器,DI是目的变址寄存器,在字符串操作中,SI和DI都具有自动增量或减量的功能。
3.指针寄存器
4.专用寄存器
5.标志寄存器
6.段寄存器
8086有4个16位段寄存器:
CS(代码段寄存器)指明代码段的起始地址
SS(堆栈段寄存器)指明堆栈段的起始地址
DS(数据段寄存器)指明数据段的起始地址
ES(附加段寄存器)指明附加段的起始地址
每个段寄存器用来确定一个段的起始地址,每种段均有各自的用途。