一、内存中字的存储
1.对8086CPU,16位作为一个字
Q:16位的字存储在一个16Wie的寄存器中,如何存储?
A:高8位放高字节,低8位放低字节。
mov,ax 4E20H
4EH (AH) 20H(AL)
Q:16位的字在内存中需要两个连续的字节存储,怎么存放?
A:低位字节存在低地址单元,高位字节存在高地址单元。
例如:20000D(4E20H)存放0、1两个单元,18D(0012H)存放2、3两个单元
2.字单元
字单元:由两个地址连续的内存单元组成,存放一个字型数据(16位)
原理:在一个字单元中,低地址单元存放低位字节,高地址单元存放高位字节。
二、用DS和【address】实现字的传送
1.要求:CPU要读取一个内存单元的时候,必须先给出这个内存单元的地址;
原理:在8086PC中,内存地址由段地址和偏移地址组成(段地址:偏移地址)
解决方案:DS和【address】配合
1)用DS寄存器存放要访问的数据的段地址
2)偏移地址用【…】形式直接给出。
eg:
将段地址送入DS中的方式:
数据->一般的寄存器->段寄存器
注意:8086PC不支持将数据直接送入段寄存器(硬件设计问题)