Short: PhxAss V4.38 68xxx Macro Assembler Author: frank@phoenix.owl.de (Frank Wille) Uploader: frank@phoenix.owl.de Type: dev/asm Replaces: dev/asm/PhxAss437* Version: 4.38 Requires: OS2.04 PhxAss V4.38 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.37 (last Aminet release): Fixed Bugs: o Register symbols were not recognized by IFD/IFND, which had the effect that they always seem to be undefined. o Stronger syntax checking for LSd/ASd/ROd and for DS/DCB/BLK. o The size of the base displacement in 020+ addressing mode (bd,Rn,...) is already checked in pass 1 now, which solves some of the strange "symbol-shifting" bugs in pass 2. o Typing a function- or cursor key at "do you want to continue (y/n)?" left a character in the input buffer. o Some illegal opcode extensions, like e.g. "ÿ" produced crashes. New Features: o EQUR allows a maximum of 16 local register symbol definitions. o Implemented REM/EREM for AsmOne-compatibility. They work exactly like ENDASM/ASM. o New directive OPTC to be able to modify the optimization flags by a numeric expression. o The special symbol \@ allows 10000 macro invocations instead of 1000. o PhxOpts is no longer part of PhxAss.