Tutorial - conditions - Homework

Started by BPak, April 17, 2008, 03:30:24 AM

Previous topic - Next topic

jorgon

Hi all!

What is happening here is that GoAsm is regarding not only hButton, pegBorder but also HWND and RAMON (when they were there) simply as labels in the data section.
There is no data declaration actually made when you provide a label.
A label is used only to identify a particular area of code or data, and it will reside at a certain address when the source code is compiled.
You can see that this is true if you look at the symbols in the object file or the resulting exe, with a file viewer like Wayne Radburn's excellent PEView available from here, or in a debugger.

This behaviour is a result of:-

1. GoAsm not requiring a colon to follow a data label.
2. GoAsm allowing several data labels to follow each other eg.
      Label1
      Label2
      Label3
3. GoAsm allowing such labels to be on the same line eg.
      Label1 Label2 Label3
4. GoAsm not type checking (thereby keeping "baggage" to the minimum).

So really this is a result of GoAsm's inherent design.
I explain in the GoAsm help file why I didn't add type checking and I've been thanked for this decision many times by GoAsm users.
So feel free to use HWND or RAMON as you want. 

How about:-
CALL RAMON
INVOKE HWND


Author of the "Go" tools (GoAsm, GoLink, GoRC, GoBug)