在计算机系统中,通常是以字节为单位,每一个地址单元对应着一个字节,寄存器的位数超过一个字节的时候,就会出现字节安排的问题
也就是说,当读取的内容超过一个字节的时候,每一个字节在读取的时候的位置如何放置,如果高地址放在高位就叫做大端格式,高地址放在低位就叫做小端格式。
DS
和[adress]
CPU要你 从内存读取数据的时候,首先需要给出这个内存单元的地址.
在8086也就是x86
架构中,内存地址由段地址和偏移地址所组成,8086CPU
的DS寄存器
就是数据段寄存器,用来存放数据段地址,[adress]
表示的是偏移地址,在寻找实际地址的时候了,会将实际的段地址和偏移地址送入到地址加法器,根据公式段地址*16+偏移地址
获取真实地址,然后去内存单元实现寻址。
DS
寄存器的修改
DS
为数据段寄存器,他不能进行立即数寻址,原因就是因为电路设计的问题,所以在修改的时候必须先将数据放入通用寄存器,然后通过通用寄存器间的寄存器寻址,将数据送往数据段寄存器
字的传送
一个字为16个bit,2个byte,用两个内存单元存储
MOV ADD SUB
指令
MOV 非段寄存器 ,数据
MOV 寄存器,寄存器
MOV 寄存器, 内存单元
MOV 内存单元,寄存器
MOV 段寄存器,寄存器
add 寄存器,数据
add 寄存器,寄存器
add 寄存器,内存单元
add 内存单元,寄存器
sub 寄存器,数据
sub 寄存器,寄存器
sub 寄存器,内存单元
sub 内存单元,寄存器
没有内存单元到内存单元的寻址方式
没有立即数与内存单元的寻址方式