Language
Application
-Compat[={!|=|c|s|f|$|a|b}
See below.
None
This option controls some compatibility enhancements of the Assembler. The goal is not to provide 100% compatibility with any other Assembler but to make it possible to reuse as much as possible. The various suboptions control different parts of the assembly:
The Assembler takes the default value of the != operator as not equal, as it is in the C language. For compatibility, this behavior can be changed to equal with this option. Because the danger of this option for existing code, a message is issued for every != which is treated as equal.
The following additional operators are defined when this option is used:
The default values for the following ! operators are defined:
!.: binary AND
!x: exclusive OR
!+: binary OR
With this suboption, comments implicitly start when a space is present after the argument list. A special character is not necessary. Be careful with spaces when this option is given because part of the intended arguments may be taken as a comment. However, to avoid accidental comments, the Assembler does issue a warning if such a comment does not start with a "*" or a ";".
The following listing demonstrates that when -Compat=c, comments can start with a *.
NOP * Anything following an asterisk is a comment.
When the -Compat=c assembler option is used, the first DC.B directive in the following listing, has "+ 1 , 1" as a comment. A warning is issued because the comment does not start with a ";" or a "*". With -Compat=c, this code generates a warning and three bytes with constant values 1, 2, and 1. Without it, this code generates four 8-bit constants of 2, 1, 2, and 1.
DC.B 1 + 1 , 1 DC.B 1+1,1
With this suboption, some compatibility prefixes for symbols are supported. With this option, the Assembler accepts "pgz:" and "byte:" prefixed for symbols in XDEFs and XREFs. They correspond to XREF.B or XDEF.B with the same symbols without the prefix.
With this suboption, an otherwise improper character recognized from feed character is ignored.
With this suboption, the Assembler supports to start identifiers with a $ sign.
With this suboption, some additional directives are added for enhanced compatibility.
The Assembler actually supports a SECT directive as an alias of the usual SECTION - Declare Relocatable Section assembly directive. The SECT directive takes the section name as its first argument.
With this suboption, the Assembler supports a FOR - Repeat assembly block assembly directive to generate repeated patterns more easily without having to use recursive macros.