第三章 寄存器(内存访问)
基础知识
内存以字节为单位,划分为若干个单元。字节(8bit)、字(16bit)、双字(32bit)、四字(54bit)。
字数据在内存中的存储
字数据的低位字节存放在低地址内存单元; 字数据的高位字节存放在高地址内存单元;
DS和【address】
8086CPU中有一个DS寄存器,通常用来储存要放的数据的段地址;“[...]”表示一个内存单元,“[...]”中的数表示内存单元的偏移地址。但8086CPU不支持将数据直接送入段地址的方法,只能先送入一个一般的寄存器。
mov指令的注意点
两个内存单元之间不能直接传送数据。不能使用mov指令修改CS和IP的值。 两个段寄存器之间不能直接传送;不能把常数送到段寄存器。
add、sub指令注意点
操作数不能同时是内存单元,段寄存器。
栈的基础知识
栈的特性: 后进先出,以字为存取单位。栈顶: 最后入栈的字数据所对应的地址单元 栈底: 固定的一端,栈区最高地址单元的前一个单元。
栈: 用作数据段时,要把段地址→DS 用作栈段时,要把段地址→SS,栈顶偏移地址 → SP 用作代码段时,段地址→CS,要取的指令偏移地址→IP。但CS和IP的值不能使用mov改变。在8086CPU中,每个段的最大长度不能超过64KB。 (因为寄存器是16位的,能表示的地址范围只能是0000H~FFFFH,即0~216-1)。

浙公网安备 33010602011771号