flat assembler
Message board for the users of flat assembler.

Index > Main > fasmg documentation and '::' special labels

Author
Thread Post new topic Reply to topic
sylware



Joined: 23 Oct 2020
Posts: 461
Location: Marseille/France
sylware 03 Jan 2021, 00:05
Hi,

I was reading the virtual instruction documentation and fooling around with the '::' labels, and I was kind of mislead:
those labels address offsets, after the following ':' are _absolute_ for the output area where defined (in the documentation, a virtual output area).
Namely it does not matter for the address offset calculation where those special labels are defined in the virtual output area.
I dare to think some more emphasis should be put in the documentation on this difference between 'standard' labels and '::' labels.
Post 03 Jan 2021, 00:05
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20448
Location: In your JS exploiting you and your system
revolution 03 Jan 2021, 03:08
I think of them more like identifiers of memory blocks, rather than being labels.
Post 03 Jan 2021, 03:08
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8359
Location: Kraków, Poland
Tomasz Grysztar 03 Jan 2021, 10:29
These two kinds of labels were intended to work together, for example if you define them like:
Code:
area::place:    
then you can access it like:
Code:
load a byte from area:place    
Perhaps this is how I could emphasize it in the manual.

Also, the labels in general do not need to have meaning analogous to ":", in fasm(g)'s syntax the are generally just a name that comes before a labeled instruction, and it is possible to define such instructions with quite varying semantics.
Post 03 Jan 2021, 10:29
View user's profile Send private message Visit poster's website Reply with quote
sylware



Joined: 23 Oct 2020
Posts: 461
Location: Marseille/France
sylware 04 Jan 2021, 22:39
Indeed, I think it would be a very good idea to add this to the manual. The "memory block"/"output area" label type may be good terms to clarify the difference and with the combination example, all this would be definitive at driving people on the right mental picture then usage path of those label objects.
Post 04 Jan 2021, 22:39
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.