flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
vid
same problem i had recently. no idea why it's needed too
![]() |
|||
![]() |
|
shoorick
i'm using "..label" for locals in macro
===== ↓now got it ![]() Last edited by shoorick on 13 Nov 2006, 13:20; edited 2 times in total |
|||
![]() |
|
IceStudent
..label not necessary here, this macroses for example. And it isn't helps :)
|
|||
![]() |
|
Tomasz Grysztar
Can you explain in detail which part you expect to work differently?
|
|||
![]() |
|
IceStudent
I want to ask, is match so necessary to get actual name in symbolic constant? Or an other ways are exist?
|
|||
![]() |
|
Tomasz Grysztar
What do you mean by 'actual name'? (Sorry, perhaps I slept too short today...)
|
|||
![]() |
|
Tomasz Grysztar
Oh, OK, I get it - the second macro is the one that works correctly for you, isn't it?
Yes, you have to do it with "match" - because concatenation can be done only by macro, the EQU directive itself cannot do a conctatenation for you. |
|||
![]() |
|
vid
your explaination doesn't clear for me, why this doesn't work (as expected):
Code: macro a { X equ something X equ X#abcd ;this doesn't append abcd to X } |
|||
![]() |
|
Tomasz Grysztar
Concatenation operator is a line-maker operator, it is done while new line is generated by the macroinstruction. The EQU is standard preprocessor's directive, which are interpreted after the line is already generated. The line is thus generated by macro processor as "X equ Xabcd" and then preprocessed.
The MATCH is generally useful when you need to pass the contents of symbolic variable to the line-maker. |
|||
![]() |
|
vid
thx
|
|||
![]() |
|
IceStudent
Thank you.
|
|||
![]() |
|
afw2004
Hi.
I have another problem with macro parameters. I want to pass parameter to macro and want to save it into temporary name to use later in another macro. macro MyMacro param1, param2 { temp_param = param1 } but it generate error. Is there some way to define temporary global names whithin macro? |
|||
![]() |
|
vid
afw2004: "=" is assembly-time thing for numeric constant. use "equ"
|
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.