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

3.1  内存中字的存储
内存中上为低地址,下为高地址:上存储低8位,下存储高8位数据
将起始地址为N的 字单元称为 N地址字单元
3.2  DS和[address]    来取内存中的数据






3.3  字的传送
3.4  mov、add、sub指令
①mov
mov 寄存器,段寄存器
mov 内存单元,段寄存器
mov 段寄存器,内存单元
②add

③sub减法
3.5   数据段
例如:

例如:

3.6  栈
3.7  CPU提供的栈机制     SS:SP(栈顶的段地址:偏移地址,永远指向栈顶元素)
push和pop只进行字操作
在基于8086CPU编程时,可以将一段内存当做栈使用。
push ax

pop ax


若将10000H~1000FH这段空间当做栈,初始状态栈是空的,此时SS:SP为1000:0010
push和pop指令操作后,并非把数据给搬出来,数据仍在那个内存中,只是SP指针移动了,push就是用新数覆盖旧数。
3.8  栈顶越界的问题
8086CPU中没有记录栈顶上限和栈底的寄存器,在编程时,要自己操心栈顶越界的问题。
3.9  push、pop指令



3.10  栈段
把一组内存单元定义为一个段,把这个段当做栈空间来用,从而定义了 栈段
一段内存,可以既是代码段,又是数据段,还可以是栈段。具体看CPU中寄存器的设置,即cs,ip,ds,ss,sp的指向。
























猜你喜欢

转载自blog.csdn.net/m0_37688984/article/details/79000569