第3章 寄存器(内存访问)小结

内存中字的存储

字单元,即存放一个字形数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。我们将起始地址为N的字单元简称为N地址字单元。

DS和[address]

“[...]”表示一个内存单元,“[...]”中的0表示内存单元的偏移地址。8086CPU自动取ds中的数据为内存单元的段地址。8086CPU不支持将数据直接送入段寄存器的操作,只能用一个寄存器来进行中转,即先将1000H送入一个一般的寄存器,如bx,再将bx中的内容送入ds。

mov、add、sub指令

mov指令可以有以下几种形式:

mov        寄存器,数据

mov        寄存器,寄存器

mov        寄存器,内存单元

扫描二维码关注公众号,回复: 3849385 查看本文章

mov        寄存器,段寄存器

mov        内存单元,寄存器

mov        内存单元,段寄存器

mov        段寄存器,寄存器

mov        段寄存器,内存单元

add指令可以有以下几种形式:

add         寄存器,数据

add         寄存器,寄存器

add         寄存器,内存单元

add         内存单元,寄存器

sub指令可以有以下几种形式:

sub          寄存器,数据

sub          寄存器,寄存器

sub          寄存器,内存单元

sub          内存单元,寄存器

CPU提供的栈机制

后进先出的操作规则

push  ax表示将寄存器ax中的数据送入栈中,pop   ax表示从栈顶取出数据送入ax。8086CPU的入栈和出栈操作都是以字为单位进行的。

8086CPU中,有两寄存器,段寄存器SS和寄存器SP,栈顶的段地址存放在SS中,偏移地址存放在SP中。任意时刻,SS:SP指向栈顶元素。

Push、Pop指令

执行push时,CPU的两步操作是:先改变SP,后向SS:SP处传送。执行pop时,CPU的两步操作是:先读取SS:SP处的数据,后改变SP。

猜你喜欢

转载自www.cnblogs.com/547hh/p/9885959.html
今日推荐