Short: Assembler for 6502, 68705, 6803 Author: Matt Dillon, mods by Olaf 'Rhialto' Seibert and Cadaver Uploader: drHirudo Amigascne org Type: dev/cross Architecture: m68k-amigaos DASM V2.12 (c)Copyright 1988 Matthew Dillon, All Rights Reserved. Freely Distributable (for non-profit) ONLY. No redistribution of any modified text files or redistribution of a subset of the source is allowed. Circumvention of said terms requires the permission of the Author (me) via US Mail. Matthew Dillon 891 Regal Rd. Berkeley, Ca. 94708 COMPILATION The source code assumes that integers are LONG WORDS. All expression computation is carried out with 32 bit ints. Additionaly, the correct implementation of STDIO functions is assumed (no translation). This code will compile with little or no modification on Amiga and UNIX systems. CONVERSION TO IBM: Should be relatively easy. Most of the code will work if int=16 bits. FEATURES -relatively fast -processor selection (use same assembler for many processors) -multi-pass (more than two passes if required) -conditional assembly -local labels (VERY local labels) -macro capability (no stacking limit) -symbolic expression capability -addressing mode overides -arbitrary number of named segments -many pseudo-ops for repeat loops, data generation, etc.... -automatic checksumming accessed via the '...' symbol. PROCESSORS --------------- CURRENTLY SUPPORTED MICROPROCESSORS --------------- 6502: ORDER LSB,MSB A.b X.b Y.b RelAddr: .+ilen+offset 68705: ORDER MSB,LSB A.b X.b RelAddr: .+ilen+offset 6803/HD6303:ORDER MSB,LSB A.b B.b X.w RelAddr: .+ilen+offset 6811: ORDER MSB,LSB A.b B.b X.w Y.w RelAddr: .+ilen+offset ADDRESSING MODES 6502 68705 6803 6811 BYTES HD6303 2 implied x x x x 2 immediate.8 #byte x x x x 3 immediate.16 #word x x 2 byteaddr byte x x x x 2 byteaddr,x byte,x x x x x 2 byteaddr,y byte,y x x 3 wordaddr word x x x x 3 wordaddr,x word,x x x 3 wordaddr,y word,y x 2 relative byte x x x x 2 ind.byte.x (byte,x) x 2 ind.byte.y (byte),y x 3 ind.word (word) x 1 0,x [0],x x 2 bitmod #no,badr x baseinst + 2*bitno 3 bitbramod #no,badr,rel x baseinst + 2*bitno NOTE: HD6303 instruction extensions over the 6803 are: AIM OIM EIM TIM XGDX SLP I believe the 6811 is a superset of the 6803.