127 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
 | |
|  * See the copyright notice in the ACK home directory, in the file "Copyright".
 | |
|  */
 | |
| #define RCSID3 "$Id$"
 | |
| 
 | |
| /*
 | |
|  * Motorola 6805 keywords
 | |
|  */
 | |
| /*
 | |
|  * The X register
 | |
|  */
 | |
| {0,	X,		0,		"x"},
 | |
| /*
 | |
|  * Bit test and branch
 | |
|  */
 | |
| {0,	BBRANCH,	0x00,		"brset"},
 | |
| {0,	BBRANCH,	0x01,		"brclr"},
 | |
| /*
 | |
|  * Bit manipulation
 | |
|  */
 | |
| {0,	BIT,		0x10,		"bset"},
 | |
| {0,	BIT,		0x11,		"bclr"},
 | |
| /*
 | |
|  * Branches
 | |
|  */
 | |
| {0,	BRANCH,		0x20,		"bra"},
 | |
| {0,	BRANCH,		0x21,		"brn"},
 | |
| {0,	BRANCH,		0x22,		"bhi"},
 | |
| {0,	BRANCH,		0x23,		"bls"},
 | |
| {0,	BRANCH,		0x24,		"bcc"},
 | |
| {0,	BRANCH,		0x25,		"bcs"},
 | |
| {0,	BRANCH,		0x26,		"bne"},
 | |
| {0,	BRANCH,		0x27,		"beq"},
 | |
| {0,	BRANCH,		0x28,		"bhcc"},
 | |
| {0,	BRANCH,		0x29,		"bhcs"},
 | |
| {0,	BRANCH,		0x2a,		"bpl"},
 | |
| {0,	BRANCH,		0x2b,		"bmi"},
 | |
| {0,	BRANCH,		0x2c,		"bmc"},
 | |
| {0,	BRANCH,		0x2d,		"bms"},
 | |
| {0,	BRANCH,		0x2e,		"bil"},
 | |
| {0,	BRANCH,		0x2f,		"bih"},
 | |
| /*
 | |
|  * Read modify write on anything but registers
 | |
|  */
 | |
| {0,	RMR,		0x30,		"neg"},
 | |
| {0,	RMR,		0x33,		"com"},
 | |
| {0,	RMR,		0x34,		"lsr"},
 | |
| {0,	RMR,		0x36,		"ror"},
 | |
| {0,	RMR,		0x36,		"asr"},
 | |
| {0,	RMR,		0x38,		"lsl"},
 | |
| {0,	RMR,		0x39,		"rol"},
 | |
| {0,	RMR,		0x3a,		"dec"},
 | |
| {0,	RMR,		0x3c,		"inc"},
 | |
| {0,	RMR,		0x3d,		"tst"},
 | |
| {0,	RMR,		0x3f,		"clr"},
 | |
| /*
 | |
|  * Implied stuff
 | |
|  */
 | |
| {0,	NOARG,		0x80,		"rti"},
 | |
| {0,	NOARG,		0x81,		"rts"},
 | |
| {0,	NOARG,		0x83,		"swi"},
 | |
| {0,	NOARG,		0x97,		"tax"},
 | |
| {0,	NOARG,		0x98,		"clc"},
 | |
| {0,	NOARG,		0x99,		"sec"},
 | |
| {0,	NOARG,		0x9a,		"cli"},
 | |
| {0,	NOARG,		0x9b,		"sei"},
 | |
| {0,	NOARG,		0x9c,		"rsp"},
 | |
| {0,	NOARG,		0x9d,		"nop"},
 | |
| {0,	NOARG,		0x9f,		"txa"},
 | |
| /*
 | |
|  * Register memory.
 | |
|  * Warning. Some imediate opcodes excluded in parser actions.
 | |
|  */
 | |
| {0,	RM,		0xa0,		"sub"},
 | |
| {0,	RM,		0xa1,		"cmp"},
 | |
| {0,	RM,		0xa2,		"sbc"},
 | |
| {0,	RM,		0xa3,		"cpx"},
 | |
| {0,	RM,		0xa4,		"and"},
 | |
| {0,	RM,		0xa5,		"bit"},
 | |
| {0,	RM,		0xa6,		"lda"},
 | |
| {0,	RM,		0xa7,		"sta"},
 | |
| {0,	RM,		0xa8,		"eor"},
 | |
| {0,	RM,		0xa9,		"adc"},
 | |
| {0,	RM,		0xaa,		"ora"},
 | |
| {0,	RM,		0xab,		"add"},
 | |
| {0,	RM,		0xac,		"jmp"},
 | |
| {0,	BRANCH,		0xad,		"bsr"},
 | |
| {0,	RM,		0xad,		"jsr"},
 | |
| {0,	RM,		0xae,		"ldx"},
 | |
| {0,	RM,		0xaf,		"stx"},
 | |
| /*
 | |
|  * Branch synonyms
 | |
|  */
 | |
| {0,	BRANCH,		0x24,		"bhs"},	/* bcc */
 | |
| {0,	BRANCH,		0x25,		"blo"},	/* bcs */
 | |
| /*
 | |
|  * Brain damaged concatenated opcodes for RMR on registers
 | |
|  */
 | |
| {0,	NOARG,		0x40,		"nega"},
 | |
| {0,	NOARG,		0x43,		"coma"},
 | |
| {0,	NOARG,		0x44,		"lsra"},
 | |
| {0,	NOARG,		0x46,		"rora"},
 | |
| {0,	NOARG,		0x47,		"asra"},
 | |
| {0,	NOARG,		0x48,		"lsla"},
 | |
| {0,	NOARG,		0x49,		"rola"},
 | |
| {0,	NOARG,		0x4a,		"deca"},
 | |
| {0,	NOARG,		0x4c,		"inca"},
 | |
| {0,	NOARG,		0x4d,		"tsta"},
 | |
| {0,	NOARG,		0x4f,		"clra"},
 | |
| {0,	NOARG,		0x50,		"negx"},
 | |
| {0,	NOARG,		0x53,		"comx"},
 | |
| {0,	NOARG,		0x54,		"lsrx"},
 | |
| {0,	NOARG,		0x56,		"rorx"},
 | |
| {0,	NOARG,		0x57,		"asrx"},
 | |
| {0,	NOARG,		0x58,		"lslx"},
 | |
| {0,	NOARG,		0x59,		"rolx"},
 | |
| {0,	NOARG,		0x5a,		"decx"},
 | |
| {0,	NOARG,		0x5c,		"incx"},
 | |
| {0,	NOARG,		0x5d,		"tstx"},
 | |
| {0,	NOARG,		0x5f,		"clrx"},
 | |
| /*
 | |
|  * CMOS support
 | |
|  */
 | |
| {0,	CMOS,		0,		".cmos"},
 | |
| {0,	CMOS,		0x8e,		"stop"},
 | |
| {0,	CMOS,		0x8f,		"wait"},
 |