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<cc>.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.
