RosAsm Specifics ..
Multi instructions lines
mov eax ebx | mov ecx 0 | call My_Routine ; ' | ' and 'CR/LF' are equivalent
Multi lines instructions
My_Macro_Evocation, ; this is a macro evocation with 3 parameters:
AAA1, ; First one
BBB2, ; Second one
CCC3 ; Third one
; commas mean 'not over...'
All source text that is not purely encodable instructions is inside square brackets: Data, Equates and Macros
Data: [First_value: 36 List_of_values: 44 126 32]
Equates: [true 1 false 0]
Macro: [Simple_Storage | mov al B§esi | mov ah B§esi+1]
RosAsm looks at the first separator sign following the first name inside square brackets:
Space >>> equates
Colon >>> data
Pipe or CR/LF >>> macro
For Addressing syntax, see Data_Access.
Basically, any symbol (like with NASM) is an Address, and nothing else. To access a Value at a given symbolic Address, you have to provide the Size marker (D$Symbol / W$Symbol / B$Symbol). This makes the overall syntax clean, clear and univoque.
Comments
Like in most Assemblers, Comments begin with a Semi-Colon and go up to the end of line:
; This is a Comment.
You can also have Multi-Line Comments with Double-Semi-Colons, alone one a line, at first row:
;;
This is
a Multi-Lines
Comment.
;;
Internally (for the Editor and for the Assembler, the MLC (Multi-Line Comment) Marker is in fact 'LF ; ; CR'. That implies that the Double-Semi-Colons have to come alone on a single Line, First row, CR/LF ended. Anyway, the Editor colors will save you from any typing errors with this.
As opposed to Square Brackets and Strings Quotes, the Double-Semi-Colons do not require to be paired. For example, you may end your Source with a 'To-Do' List, just beginning by an open (never closed) Double-Semi-Colons.
~~~~~~~