寄存器(内存访问01)

内存中字的存储

在0地址位置开始存放20000(4E20H):
注意:0号单元是低地址,1号单元是高地址。4E会存放在高地址,20会存放在低地址。
结论:任何两个地址连续的内存单元,N号单元和N+1号单元,可以将他们看作是两个内存单元,也可以将他们看作是一个地址为N
的字单元中的高位字节单元和低位字节单元。

DS和[address]

CPU要读取一个内存单元的时候,必须先给出这个内存单元的地址;
在8086PC中,内存地址由段地址和偏移地址组成。
8086CPU中有一个DS寄存器,通常用来存放要访问的数据的段地址。

已经知道的Mov指令可以完成两种传送的功能
(1)将数据直接送入寄存器
(2)将一个寄存器中的内容送入另一个寄存器中。
除此之外,mov指令还可以将一个内存单元中的内容送入一个寄存器中。
mov
mov指令的格式:
mov 寄存器名,内存单元地址
“[…]”表示一个内存单元,“[…]”中的0表示内存单元的偏移地址。
内存中的段地址是多少呢?
1、执行指令的时候,8086CPU自动读取DS中的数据为内存单元的段地址。
如何利用mov指令从10000H中读取数据呢?
1、10000H表示为1000:0(段地址:偏移地址)
2、将段地址1000H放入ds中
3、用MOV al,[0]完成传送(MOv指令中的[]说明操作对象是一个内存单元,[]中的0说明这个内存单元的偏移地址是0 ,他的段地址默认
放在ds中。)
8086CPU不支持将数据直接送入段寄存器的操作,ds是一个段寄存器。要先放入通用寄存器。**