--agbasm enable all agbasm features except --agbasm-debug --agbasm-debug FILE enable agbasm debug info. Outputs miscellaneous debugging print statements to the specified file. ("printf debugging") --agbasm-colonless-labels enable agbasm colonless labels. This allows defining labels without a colon at the end if the label is in column zero and ends with a newline (after optional whitespace). If the label does not end with a newline, then an error is thrown and the label is assumed to be a statement. --agbasm-colon-defined-global-labels enable agbasm colon defined global labels. This allows setting a label as global on definition by following the label name with two colons, as opposed to one (e.g. `label::'). --agbasm-local-labels enable agbasm local labels. These are like dollar local labels (as in they go out of scope when a non-local label is defined), but are not limited to a number as the label name. An agbasm local label is prefixed (and thus defined) with `.'. Internally, an agbasm local label is actually just a concatenation of the most recently defined non-local label and the local label (including the prefix). This gives us a safe way to canonicalize local label names so that they can be exported for debug information. This also means that local labels can be referenced outside of their scope by using the canonicalized label name. Note that agbasm local labels are NOT local symbols by default. --agbasm-multiline-macros enable agbasm multiline macros. This allows the use of a macro to span across multiple lines, by placing a `[' after the macro name, and then placing a `]' once all macro arguments have been defined, e.g. my_macro [ arg_1=FOO, arg_2=BAR ] The opening character (`[') must be defined before any macro arguments are specified. Arguments can be defined on the same line as the opening character with optional whitespace in-between the opening character and the starting argument, e.g.: my_macro [arg_1=FOO, arg_2=BAR ] The closing character (`]') can be defined in one of two ways: - After the last argument, a comma is placed (to indicate the end of the argument), followed by optional whitespace and then the closing character, e.g.: my_macro [ FOO, ] - On a single line by itself (supposedly after the last argument has been defined) with no non-whitespace characters before or after it, e.g.: my_macro [ FOO ] Note that the first method **requires** a comma before the closing character, while the second method does not require the closing character. This is due to the inherent design of how macro arguments are parsed, which may be explained here in the future. A comma should be inserted after the last argument for each line (except as mentioned above in the second closing character method), otherwise a warning is generated. It is recommended to not ignore these warnings as they can be an indicator of a missing closing character, as most directives do not end with a comma. --agbasm-help show this message and exit