added support for sizeof and lengthof,
Replaced the "X" by "/" ,same usage.
AU MACRO adresse:REQ,ARGS:VARARG
local verif,count,decompte
count = 0
decompte = 1 ;made a loop without write nothing
IFDEF __UNICODE__
:WriteWord
verif equ <adresse>
IFDIF verif,</>
IF decompte EQ 0
adresse WORD count dup (?)
org $- count*2 ;return to adresse
count = 0
ENDIF
ENDIF
FOR _arg,<ARGS>
verif SUBSTR <_arg>,1,1
IFIDN verif,<">
FORC char,<_arg>
IFDIF <char>,<">
IF decompte EQ 0
cumul TEXTEQU <DW "&char">
cumul ;execute
ENDIF
count = count + 1
ENDIF
ENDM
ELSE
IF decompte EQ 0
DW _arg
ENDIF
count = count + 1
ENDIF
ENDM
IF decompte EQ 1
decompte = 0
GOTO WriteWord
ENDIF
EXITM<>
ELSE
:WriteByte
verif equ <adresse>
IFDIF verif,</>
IF decompte EQ 0
adresse BYTE count dup (?)
org $- count ;return to adresse
count = 0
ENDIF
ENDIF
FOR _arg,<ARGS>
verif SUBSTR <_arg>,1,1
IFIDN verif,<">
FORC char,<_arg>
IFDIF <char>,<">
IF decompte EQ 0
cumul TEXTEQU <DB "&char">
cumul ;execute
ENDIF
count = count + 1
ENDIF
ENDM
ELSE
IF decompte EQ 0
DB _arg
ENDIF
count = count + 1
ENDIF
ENDM
IF decompte EQ 1
decompte = 0
GOTO WriteByte
ENDIF
EXITM<>
ENDIF
ENDM
NAU MACRO namelabel:REQ,ARGS:VARARG
.data
AU (namelabel,ARGS)
.code
EXITM <namelabel>
ENDM