Assembly push-in 16位tasm的使用
当我使用push指令时,我是推送SUM的引用还是值?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 ..... 这似乎真的很迂回,我相信有一个更简单的
调用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
.....