わかりましたので、これはある程度機能していますが、変数名をマクロに渡そうとすると、次のように表示されます。
エラー 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