flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
comrade 29 Jan 2004, 04:54
I think Privalov was about to remove it?
|
|||
![]() |
|
Tomasz Grysztar 29 Jan 2004, 08:18
No, I was not. Dot is a normal character that can occur inside any label name, and thanks to it 'struc' mechanism can work the way it works (as it is a special type of macroinstruction). Also "foo.SIZE" in your example is defined the same way. There is no difference between "foo.SIZE" and "foo.bar" definition in your code, they are both fully correct and allowed.
In the docs I write about the labels beginning with a dot or two dots (as these labels have some special meaning), so I thought it should be clear from it that dots in label names are allowed. |
|||
![]() |
|
JohnFound 29 Jan 2004, 08:43
As far, as I can understand, the point here is that such definitions actually define local label in the label space of some global label, even when the definition is outside the scope of this global label. For example:
Code: MyLabel.local = 1234h MyLabel0: mov eax, .local ; error "undefined symbol" mov eax, MyLabel.local ; Normal mov eax, 1234h MyLabel: mov eax, .local ; Normal mov eax, 1234h .local = 5678h mov eax, .local ; Normal mov eax, 5678h MyLabel2: mov ebx, .local ; Error "undefined symbol" mov ebx, MyLabel.local ; Normal mov ebx, 5678h I think this is natural and normal behaviour and it is definately a "feature" even if it appears as a "side effect". ![]() Regards |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.