A perl 6502 assembler

I was sitting around at Lake Eildon one weekend with nothing much to do apart from swim and play with Linux, and I decided to throw together a small assembler for the 6502 chip, in Perl.

The source code is here.

Some sample code to compile with it:

	ORG 49152
	LDA #0x00
loop:
	STA 53280
	ADC #0x01
	CMP #0x00
	BNE [loop]
	RTS

The program spits out the binary with the destination address (LSB first) as the first two bytes - it can then be loaded straight into VICE, a Commodore 64 emulator.

Currently the program can only handle implied, immediate, absolute (+ X & Y), and relative addressing modes. I couldn't remember how the other modes worked.

Usage:

./asm.pl prog.asm > prog.bin

Paul Dwerryhouse
Created: 30-Jan-2001.
Last modified: 30-Jan-2001.