基础-2

2017-01-17  本文已影响0人  秣崖

栈(8086机制)

8086中栈的操作的基本单位为字(2个byte,16位二进制)

对应栈的指针地址分别存储在段地址寄存器SS和偏移地址寄存器SP中,即SS:SP指向栈顶元素

地址对应顺序:8086中,入栈时,栈顶从高地址向低地址方向增长。所以其设置SP偏移寄存器时应该设置为栈的最高位地址。

增长方向(压入2266h)即依然是高位在高地址

push和pop

在8086中没有专门设定栈顶栈底的寄存器,所以相关操作的时候要注意溢出问题。

栈段

由于8086偏移地址寄存器位数的限制,其偏移地址最大的数值只能是FFFF,即可寻2^(4*2*4)个存储单位的地址(BYTE)。除以1024,可知最大栈段为64KB.

DEBUG现象

在-T命令下:

在执行修改SS段寄存器的指令时,下一条指令也紧接着被执行。

reference:《汇编语言》王爽

上一篇 下一篇

猜你喜欢

热点阅读