在CPU中,用16位寄存器来存储一个字,高8位存放高字节,低8位存放弟子姐。
字单元:存放一个字型数据16位的内存单元,有两个地址连续的内存单元组成。
CPU读写一个内存单元的时候,必须给出这个内存单元的地址,在8086PC中,内存地址由段地址X16+偏移地址组成。
8086CPU有一个DS寄存器,通常用来存放数据的段地址,eg:
mov bx, 1000H
mov ds, bx
mov a1,[0]
表示将10000H中的数据读到a1中。
其中,[...]表示一个内存单元,[0]表示内存单元的偏移地址;mov bx, 1000H表示:mov 寄存器名,内存单元地址;
上面的代码实际上是先将段地址1000H放入DS寄存器中,然后使用mov a1,[0]来完成传送。
如何将一个数据放入寄存器呢?
由于8086CPU不支持将数据直接送入段寄存器,因此,我们无法直接使用mov ds, 1000H将1000H送入ds寄存器,我们这里是使用一个一般的级才能起bx进行了中转,以此来实现的。
mov, add, sub指令集:
时间: 2024-10-07 23:53:42