首先要明确的
8086有16根数据线和20根 地址线 ,它既能处理16位数据,也能处理8位数据。 可寻址的内存空间为1MB。
字型数据与字节型数据
8086cpu的数据线是16根,所以可以处理两种尺寸的数据.
1. 字节型数据,byte 8bit存放到8位寄存器中。
2. 字型数据, 2bytes=16bit, 存放到16寄存器中。
在使用mov指令,要保证数据和寄存器之间位数的一致性。
数据存放规则
一个字型数据(如 1234H)存放在内存中,由2个连续的地址的内存单元组成。
高地址内存单元存放字型数据的高位字节。
低地址内存单元存放字型数据的低位字节。
组合地址形成方式
mov ax,ds:[0]
这行代码有两个需要注意的点:
ds:[0]表示从 ds段地址,偏移地址为索引0 上的数据开始
读取ax对应数据长度的数据
如果0变为3,则会从偏移地址为索引3的位置上取值,取多少呢?取决于前面寄存器的长度,ax为16位,则取16位数据移动过去。若这里把ax换为al,则只转移8位数据过去。