我正在尝试编写一个 MASM615 汇编程序,其中部分程序在需要时切换两个字符串的地址。但是,我不知道该怎么做。基本上,我需要通过引用将两个字符串指针传递到一个新过程中,并且该过程会切换地址。
到目前为止,我有:
lea eax, str1
lea ebx, str2
push ebx
push eax
call compare
所以你看,地址被压入堆栈。在该过程中,我将它们从堆栈中弹出到相同的寄存器中(似乎有点毫无意义,但是哦)......然后呢?我觉得我需要以某种方式告诉str1
指向中的地址ebx
,并str2
指向中的地址eax
,但是如何?!
编辑:当前测试代码....
TITLE MASM Template (main.asm)
INCLUDE Irvine32.inc
.data
str1 db "Hello",0
str2 db "Hi there",0
.data?
pStr1 dd ?
pStr2 dd ?
.code
main PROC
mov [pStr1],OFFSET str1
mov [pStr2],OFFSET str2
mov edx, [pStr1]
call WriteString
main ENDP
END main