CPU中,用16位寄存器来存储一个字。字是有2个内存单元组成。高8位存放高位字节,低8位存放低位字节。

CPU要读写一个内存单元时,必须给出这个内存单元的地址,内存地址由段地址和偏移地址组成。 DS 存放要访问数据的段地址, [address] 中address是偏移地址并且是一个具体的数。

!!DS并不能直接给定一个数值。比如 mov ds,1000H 语句在8086CPU中是错的。我们只能通过寄存器去改变ds的值,比如 mov ds,ax 语句。

8086CPU是 16 位结构,有16根数据线,所以,可以一次性传送16位数据,也就是一个字。

可以根据需要,将一组内存单元定义为一个段。我们可以将一组的长度为N(N<=64KB)、地址连续、起始地址为16的倍数的内存单元当作专门存储数据的内存空间。

重要部分:

a.字在内存中存储时,采用两个地址连续的内存单元来存放,字的低位字节存放在低地址单元中,高位字节存放在高地址单元中。

b.用 mov 指令访问内存单元,可以在 mov 指令中只给出单元的偏移地址,此时,段地址默认在 DS 寄存器中。

c.[address] 表示一个偏移地址为 address 的内存单元。

d.在内存和寄存器之间传送字型数据时,高地址单元和高8位寄存器、低地址单元和低8位寄存器相对应。

e.mov、add、sub 是具有两个操作对象的指令。jmp 是具有一个操作对象的指令。

f.可以根据自己的推测,在 Debug 中实验指令的新格式。

posted on 2018-12-31 11:48  TheaQ  阅读(98)  评论(0编辑  收藏  举报