Short: PhxAss V4.35 68xxx Macro Assembler Author: frank@phoenix.owl.de (Frank Wille) Uploader: frank@phoenix.owl.de Version: 4.35 Type: dev/asm Replaces: dev/asm/PhxAss434* Requires: OS2.04 PhxAss V4.35 is a highly optimizing macro assembler for Motorola's 680x0 CPUs, 6888x FPUs and 68851 MMU (of course, the 030, 040 and 060 MMUs are also supported). It requires OS2.04 (V37) and 1 MB RAM as minimum. Most important features: o PhxAss is FREEWARE. o Symbolic and Source Level Debugging. Possibility to enable Source Level Debugging for high level languages too. o Automatic generation of executables (if possible). o Creates relocatable Amiga-DOS objects or absolute code (written into a file (raw or Motorola S-Format), into memory or directly onto disk). o Small Code and Small Data support (also support for __MERGED sections). o Listing file, Cross Reference Listing, Equates file. o Complete floating point support: You can use complex floating point expressions, including float functions (sine, logarithm, square root, power, etc.), everywhere in your source, e.g. defining float EQUates or SETs. o Switches for ten different optimizations. o Locale symbols (xxx$ and .xxx type). o Up to 36 macro parameters. o Support for Motorola's old and new operand style (even in 68000 mode). o locale.library usage (english, german, swedish, norwegian, italian, danish, dutch, hungarian and french ). o Nearly all directives of the most popular assemblers like Seka, DevPac or AS (Aztec) are supported. Example: INCBIN, INCDIR, CODE_C, REPT, RS, RSRESET, EQUR, REG, OFFSET, XDEF, XREF, PUBLIC, OUTPUT ... o PhxAss is able to stay resident in memory. You will find two different versions of PhxAss in this distribution: 1. PhxAss: The standard 680x0,FPU,MMU macro assembler. 2. GigaPhxAss: Identical to PhxAss, but source codes are not limited to 65535 lines. Quite useful for assembling huge Reassembler outputs. CHANGES SINCE PHXASS V4.34 (last Aminet release): Fixed Bugs: o The "B.B *+0" problem is solved! If this special case occurs, caused by an optimization, the instruction will be replaced by a NOP. o <...> had some problems. o The (hopefully last) big CNOP-bug was fixed. The following constellation doesn't make problems anymore: label1: cnop 0,4 label2: o The symbols __CPU, __FPU and __MMU were invalid, as long as the assembler hasn't seen a MACHINE, FPU or PMMU directive. o Symbols in the operand of an FPU instruction, which start with the letters "FP", lead to confusion with FPU register names. The result was a misinterpretation of the addressing mode in pass 1. o When the destination file name contained a '.', PhxAss always deletes the following characters including the '.', if an executable file could be created. From now on, only a ".o" extension will be removed. o Since V4.33 PhxAss lost 48k memory, when a PHXOPTIONS file is present. o Locale labels with the names ".W" and ".L" were impossible. o The assignment of an external symbol by the EQU directive now leads to an error message. Till now zero was assigned. New Features: o Small data addressing is allowed for the extended 020+ addressing modes. For example, indirect addressing: ([label,a4]) o PRI/K/N can be used to change the process priority of PhxAss during assembly. o When setting the new switch EXE/S PhxAss tries to generate an executable file although XDEFs are present. o Norwegian catalog.