Assembly push-in 16位tasm的使用

Assembly push-in 16位tasm的使用,assembly,stack,push,16-bit,tasm,Assembly,Stack,Push,16 Bit,Tasm,当我使用push指令时,我是推送SUM的引用还是值? 调用func后,SUM是否会更改?您可能希望取消对传递给函数的地址的引用 .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是否会更改?

您可能希望取消对传递给函数的地址的引用

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

这似乎真的很迂回,我相信有一个更简单的方法,但我没有一个机器与塔斯姆手边。由于无法使用[ax]:(

似乎ax将具有您推入的值(地址和),不确定在此之后要执行的操作,但您正在递增地址并将其放回stack@eventi:这看起来像是一个答案:)@seki我认为还没有足够的答案:)
.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
     .....