装配寻址如何工作?

时间:2015-11-24 20:27:40

标签: assembly

我正在查看汇编语言的代码。 SP注册表初始设置为50。在每个步骤中,将显示仓库中的内存位置内容,其中指向SP

mov ax,6
push ax
mov bx,3
push bx
mov cx,1
push cx
mov dx,8
push dx
pop ax
pop bx
pop dx
pop cx

寄存器中的最终值是:

ax=8
bx=1
cx=3
dx=6

这是如何工作的?上述命令如何转换为这些最终值?

1 个答案:

答案 0 :(得分:0)

  1. 你将6,3,1,8推入堆栈
  2. 您从堆栈中删除8并将其复制到ax
  3. 您从堆栈中删除1并将其复制到bx
  4. 您从堆栈中删除3并将其复制到cx
  5. 从堆栈中删除6并将其复制到dx
  6. 因此:

    ax=8
    bx=1
    cx=3
    dx=6
    

    如果不编写关于什么是堆栈的文档,我真的无法解释它。

    来自维基百科的例子: enter image description here