Хорошо, у меня это работает до некоторой степени, но когда я пытаюсь передать имя переменной в макрос, он говорит следующее:
ошибка 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
Теперь это не работает, но если поместить в строку, подобную этой, "Some Thing", когда я вызываю макрос в секции .code, макросработает и идет своим веселым путем.Это почему?Я не передаю правильную строку или не завершил строку прямо в моем разделе .data
?Пример, который я использую, выглядит следующим образом
.data
myString db "abcefg",0
.code
mWriteString myString