0
.data    
    SUM DW 250h
.text
     push SUM
     call func
     ....
 func:
      mov bp, sp
      mov ax, [bp + 2]
      inc ax
      mov [bp + 2], ax
      .....

当我使用 push 指令时,我是推送 SUM 的引用还是值?调用 func 后 SUM 会发生变化吗?

4

1 回答 1

0

您可能想要取消引用您传递给函数的地址

.data    
    SUM DW 250h
.text
     push [SUM]
     call func
     ....
 func:
     mov bp, sp
     mov bx, [bp + 2]
     mov ax,[bx]
     inc ax
     mov [bx],ax
     mov [bp + 2], ax
     .....

这看起来真的很迂回,我确信有更简单的方法,但我没有方便的 tasm 机器。额外的回旋处,因为你不能使用 [ax] :(

于 2012-06-05T16:47:58.123 回答