Skip to content
This repository has been archived by the owner on Dec 11, 2023. It is now read-only.

Optional macro parameters in ifdef block give error with 'lreg' function #207

Open
oxidaan opened this issue Nov 13, 2020 · 1 comment
Open

Comments

@oxidaan
Copy link

oxidaan commented Nov 13, 2020

The sample below is taken from the assembler macro documentation, demonstrating optional parameters at Push macro.
(For simplicity I removed r3, r4)
Inside there, I added (for both parameters):
add a, lreg({{r1}})
When called with one parameter, this gives an error 'Unexpected token '$$' despite being withing the ..if def({{r2}}) block.
I think this should not give an error.
To reproduce: assemble this code:

; Code file
start: .org #8000

Push:
.macro(r1, r2)
.if def({{r1}})
add a, lreg({{r1}})
push {{r1}}
.endif
.if def({{r2}})
add a, lreg({{r2}})
push {{r2}}
.endif
.endm

Push(bc)

@Dotneteer
Copy link
Owner

Sorry for ignoring your request for a such a long time. As I still do not know when I will have time to release the next preview, here I send you a private build with the fix. Please, rename the .zip file to .vsix before installing it!

Spect.Net.VsPackage.zip

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants