好的,所以我已经在一定程度上完成了这项工作,但是当我尝试将变量名传递给宏时,它会说:
错误 A2071:初始化程序幅度对于指定大小来说太大
我没有看到我在这里做错了什么。我正在关注如何传递参数的示例,但这就是它给我的。这就是我到目前为止所拥有的。
TITLE MASM TestTExt (TestTExt.asm)
; Description:
;
; Revision date:
INCLUDE Irvine32.inc
;macro stuff
mWriteString MACRO text
LOCAL string
.data
string db text
.code
push edx
mov edx,OFFSET string
call WriteString
pop edx
ENDM
.data
myStr db "Test1",0
.code
main PROC
call Clrscr
mWriteString myStr
call Crlf
exit
main ENDP
END main
现在这不起作用,但是当我在 .code 部分中调用宏时,如果将其放入像“Some Thing”这样的字符串中,则宏可以正常工作并继续前进。这是为什么?我没有传递正确的字符串还是我没有在我的.data
部分中终止字符串?我使用的例子是这样的
.data
myString db "abcefg",0
.code
mWriteString myString