h3 #! (Shebang)
pre #!/usr/local/bin zasm --flatops -uwy -x
p Normally such a line would be the first line in your source file if you make the file executable. Then line 1 is executed by the shell when the file is run as a command and the whole line (after the shebang) is passed to zasm as command line arguments. This is handy if lots of command line options must be passed to assemble this file.
p This feature is also used in the regression selftest of zasm with command line option -T / --test.
p Formerly any line starting with '#!' was ignored by the assembler.
p Since version 4.3.6 line 1 is also examined by the assembler itself and options which modify the assembly are also applied by zasm as if they were given on the command line. This way they are also applied if the file is assembled normally and not run as a command. The options zasm looks for are:
p --z80, --z180, --8080
--asm8080
--dotnames, --reqcolon, --casefold, --flatops
--ixcbr2, --ixcbxh
p Note: there are also pseudo opcodes for these options, namely .z80, .z180, .8080, .asm8080, .dotnames, and so on, which apply after they have been encountered by the assembler in pass 1, which may be a problem if they are defined too late.