flat assembler
Message board for the users of flat assembler.
Index
> Macroinstructions > processing macro names |
Author |
|
vid 13 Nov 2006, 10:50
same problem i had recently. no idea why it's needed too
|
|||
13 Nov 2006, 10:50 |
|
shoorick 13 Nov 2006, 11:08
i'm using "..label" for locals in macro
===== ↓now got it i mixed it with other situation Last edited by shoorick on 13 Nov 2006, 13:20; edited 2 times in total |
|||
13 Nov 2006, 11:08 |
|
IceStudent 13 Nov 2006, 11:40
..label not necessary here, this macroses for example. And it isn't helps :)
|
|||
13 Nov 2006, 11:40 |
|
Tomasz Grysztar 13 Nov 2006, 12:49
Can you explain in detail which part you expect to work differently?
|
|||
13 Nov 2006, 12:49 |
|
IceStudent 13 Nov 2006, 13:11
I want to ask, is match so necessary to get actual name in symbolic constant? Or an other ways are exist?
|
|||
13 Nov 2006, 13:11 |
|
Tomasz Grysztar 13 Nov 2006, 13:18
What do you mean by 'actual name'? (Sorry, perhaps I slept too short today...)
|
|||
13 Nov 2006, 13:18 |
|
Tomasz Grysztar 13 Nov 2006, 13:20
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. |
|||
13 Nov 2006, 13:20 |
|
vid 13 Nov 2006, 13:47
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 } |
|||
13 Nov 2006, 13:47 |
|
Tomasz Grysztar 13 Nov 2006, 14:21
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. |
|||
13 Nov 2006, 14:21 |
|
vid 13 Nov 2006, 15:33
thx
|
|||
13 Nov 2006, 15:33 |
|
IceStudent 13 Nov 2006, 16:29
Thank you.
|
|||
13 Nov 2006, 16:29 |
|
afw2004 25 Jan 2007, 14:21
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? |
|||
25 Jan 2007, 14:21 |
|
vid 25 Jan 2007, 15:29
afw2004: "=" is assembly-time thing for numeric constant. use "equ"
|
|||
25 Jan 2007, 15:29 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.