flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Tomasz Grysztar
bitRAKE wrote: I'm going to stick with version "ijlx0" for now - that version has some strangeness. Haven't narrowed it down. Something about a scoping change, but when I try fragments of code - they work. It was another instance of my continued efforts to make the changed behavior of these labels work as expected. The original fasmg's design was a clean rule that had no special cases, but it was problematic where it did not follow what fasm 1 would do, so I finally gave in and changed it - but then I had to introduce a couple of exceptional cases like this one to keep this working as expected. Under original system ".:" in STRUC macro was becoming the latest label within its namespace without any special treatment. |
|||
![]() |
|
bitRAKE
Is this still valid syntax?
Code: struc EXCEPTION_POINTERS label . namespace . PEXCEPTION_RECORD rq 1 ; ExceptionRecord PCONTEXT rq 1 ; ContextRecord end namespace end struc |
|||
![]() |
|
Tomasz Grysztar
There is nothing wrong with this syntax, the questions is what behavior do you expect when this is put in context. Here a simple snippet that demonstrates what changed:
Code: first: second EXCEPTION_POINTERS .test = 1 if defined first.test display 'g.ijlx0' else if defined second.test display 'g.ik0iv+' else display '?' end if |
|||
![]() |
|
bitRAKE
Code: first: .second EXCEPTION_POINTERS .test = 1 Changing "label ." to ".=$" might be the correct change - seems to have the intended result. Thanks for the help. |
|||
![]() |
|
Tomasz Grysztar
bitRAKE wrote: Gives me a "?" That is my typical use case. |
|||
![]() |
|
Tomasz Grysztar
Tomasz Grysztar wrote: This may require a more clever fix. bitRAKE: please try it with "il0vt". |
|||
![]() |
|
bitRAKE
Tried to break it, but I couldn't. I'll need more time.
![]() Thank you. |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.