Please help.
I have an fragment of a program that is using a macro called mne. I am trying to understand how this macro works. In this case the macro expands and creates more data in its segment. How can I see the data that is created by the macro? Also since this macro seems to call itself what causes the macro to stop? Can anybody tell me how the catstr instruction works in this case? I am still trying the learn macros.
Thank you for any help.
;--- mne macro, used for the assembler mnemonics table
mne macro val2:REQ, dbytes:VARARG
ASMDATA segment
CURROFS = $
ifnb <dbytes>
db dbytes
endif
ASMDATA ends
dw CURROFS - asmtab
MN_&val2 equ $ - mnlist
tmpstr catstr <!">,@SubStr(val2,1,@SizeStr(val2)-1),<!",!'>,@SubStr(val2,@SizeStr(val2)),<!'>,<+80h>
db tmpstr
endm
.8086
_TEXT segment dword public 'CODE'
org 100h
start:
_TEXT ends
CONST segment word public 'DATA'
CONST ends
ASMDATA segment word public 'DATA'
asmtab label byte
ASMDATA ends
_DATA segment dword public 'DATA'
_DATA ends
_ITEXT segment word public 'I_TEXT'
_ITEXT ends
_IDATA segment word public 'I_DATA'
patches label word
_IDATA ends
DGROUP group _TEXT, CONST, ASMDATA, _DATA, _ITEXT, _IDATA