shithub: scc

ref: a8c12d5af237508f34662b5748cb672f5b75da53
dir: /as/target/x80/x80.dat/

View raw version
# Tab 16, tabs 16, :set ts=16
# op	args	size	bytes	format	cpu
.SECTION	sym,string?	0	none	section	Z80,R800,GB80
.TEXT	none	0	none	text	Z80,R800,GB80
.DATA	none	0	none	data	Z80,R800,GB80
.BSS	none	0	none	bss	Z80,R800,GB80
.DB	imm8+	0	none	defb	Z80,R800,GB80
.DEFB	imm8+	0	none	defb	Z80,R800,GB80
.BYTE	imm8+	0	none	defb	Z80,R800,GB80
.DW	imm16+	0	none	defw	Z80,R800,GB80
.DEFW	imm16+	0	none	defw	Z80,R800,GB80
.SHORT	imm16+	0	none	defw	Z80,R800,GB80
.WORD	imm16+	0	none	defw	Z80,R800,GB80
.DD	imm32+	0	none	defd	Z80,R800,GB80
.DEFD	imm32+	0	none	defd	Z80,R800,GB80
.LONG	imm32+	0	none	defd	Z80,R800,GB80
.INT	imm16+	0	none	defd	Z80,R800,GB80
.DQ	imm64+	0	none	defq	Z80,R800,GB80
.DEFQ	imm64+	0	none	defq	Z80,R800,GB80
.EQU	sym,imm16	0	none	equ	Z80,R800,GB80
.EQU	imm16	0	none	equ	Z80,R800,GB80
=	imm16	0	none	equ	Z80,R800,GB80
.SIZE	sym,imm16	0	none	size	Z80,R800,GB80
.SIZE	imm16	0	none	size	Z80,R800,GB80
.COMM	sym,imm16	0	none	common	Z80,R800,GB80
.COMM	imm16	0	none	common	Z80,R800,GB80
.TYPE	sym,imm16	0	none	type	Z80,R800,GB80
.TYPE	imm16	0	none	type	Z80,R800,GB80
.GLOBL	sym+	0	none	global	Z80,R800,GB80
.EXTERN	sym+	0	none	extrn	Z80,R800,GB80
.STRING	string+	0	none	string	Z80,R800,GB80
.ASCII	string+	0	none	ascii	Z80,R800,GB80
.ALIGN	imm16+	0	none	align	Z80,R800,GB80
.END	none	0	none	end	Z80,R800,GB80

RET	none	1	0xc9	noargs	Z80,R800,GB80
RLCA	none	1	0x07	noargs	Z80,R800,GB80
RLA	none	1	0x17	noargs	Z80,R800,GB80
RRCA	none	1	0x0f	noargs	Z80,R800,GB80
RRA	none	1	0x1f	noargs	Z80,R800,GB80
RLD	none	2	0xed,0x6f	noargs	Z80,R800
RRD	none	2	0xed,0x67	noargs	Z80,R800
INI 	none	2	0xed,0xa2	noargs	Z80,R800
INIR	none	2	0xed,0xb2	noargs	Z80,R800
IND	none	2	0xed,0xaa	noargs	Z80,R800
INDR	none	2	0xed,0xba	noargs	Z80,R800
OUTI	none	2	0xed,0xa3	noargs	Z80,R800
OTIR	none	2	0xed,0xb3	noargs	Z80,R800
OUTD	none	2	0xed,0xab	noargs	Z80,R800
OTDR	none	2	0xed,0xbb	noargs	Z80,R800

# p is any register from B, C, D, E, IXL, IXH, A
# q is any register from B, C, D, E, IYL, IYH, A
# r is any register from B, C, D, E, L, H, A
# dd is any register from BC, DE, HL, SP
# qq is any register from BC, DE, HL, AF
# pp is any register from BC, DE, IX, SP
# rr is any register from BC, DE, IY, SP

# 8 bit load group
LD	r,imm8	2	0x06	r8_imm8	Z80,R800,GB80
LD	p,imm8	3	0xdd,0x06	r8_imm8	Z80,R800
LD	q,imm8	3	0xfd,0x06	r8_imm8	Z80,R800
LD	(HL),imm8	2	0x36	imm8	Z80,R800,GB80

LD	r,r	1	0x40	r8_r8	Z80,R800,GB80
LD	p,p	2	0xdd,0x40	r8_r8	Z80,R800
LD	q,q	2	0xfd,0x40	r8_r8	Z80,R800
LD	(HL),r	1	0x70	xx_r8	Z80,R800,GB80
LD	r,(HL)	1	0x46	r8_xx	Z80,R800,GB80

LD	r,(IX+n)	3	0xdd,0x46	r8_idx	Z80,R800
LD	r,(IY+n)	3	0xfd,0x46	r8_idx	Z80,R800
LD	(IX+n),r	3	0xdd,0x70	idx_r8	Z80,R800
LD	(IY+n),r	3	0xfd,0x70	idx_r8	Z80,R800

LD	(HL),imm8	2	0x36	imm8	Z80,R800,GB80
LD	(IX+n),imm8	3	0xdd,0x36	idx_imm8	Z80,R800
LD	(IY+n),imm8	3	0xfd,0x36	idx_imm8	Z80,R800

LD	A,(BC)	1	0x0a	noargs	Z80,R800,GB80
LD	A,(DE)	1	0x1a	noargs	Z80,R800,GB80
LD	A,(n)	3	0x3a	dir	Z80,R800,GB80

LD	(BC),A	1	0x2	noargs	Z80,R800,GB80
LD	(DE),A	1	0x12	noargs	Z80,R800,GB80
LD	(n),A	3	0x32	dir	Z80,R800,GB80

LD	A,I	2	0xed,0x57	noargs	Z80,R800
LD	A,R	2	0xed,0x57	noargs	Z80,R800
LD	I,A	2	0xed,0x47	noargs	Z80,R800
LD	R,A	2	0xed,0x4f	noargs	Z80,R800

# 16 bit load group
LD	dd,imm16	3	0x01	r16_imm16	Z80,R800,GB80
LD	IX,imm16	4	0xdd,0x21	imm16	Z80,R800
LD	IY,imm16	4	0xfd,0x21	imm16	Z80,R800

LD	HL,(n)	3	0x2a	dir	Z80,R800,GB80
LD	dd,(n)	4	0xed,0x4b	r16_dir	Z80,R800
LD	IX,(n)	4	0xdd,0x2a	dir	Z80,R800
LD	IY,(n)	4	0xfd,0x2a	dir	Z80,R800

LD	(n),HL	3	0x22	dir	Z80,R800,GB80
LD	(n),dd	4	0xdd,0x42	r16_dir	Z80,R800
LD	(n),IX	4	0xdd,0x22	dir	Z80,R800
LD	(n),IY	4	0xfd,0x22	dir	Z80,R800

LD	SP,HL	1	0xf9	noargs	Z80,R800,GB80
LD	SP,IX	2	0xdd,0xf9	noargs	Z80,R800
LD	SP,IY	2	0xfd,0xf9	noargs	Z80,R800

PUSH	qq	1	0xc5	r16	Z80,R800,GB80
PUSH	IX	2	0xdd,0xe5	noargs	Z80,R800
PUSH	IY	2	0xdd,0xe5	noargs	Z80,R800
POP	qq	1	0xc1	r16	Z80,R800,GB80
POP	IX	2	0xdd,0xe1	noargs	Z80,R800
POP	IY	2	0xfd,0xe1	noargs	Z80,R800

# 8 bit ALU group
ADD	A,r	1	0x80	xx_r8	Z80,R800,GB80
ADD	A,p	2	0xdd,0x80	xx_r8	Z80,R800
ADD	A,q	2	0xfd,0x80	xx_r8	Z80,R800
ADD	A,imm8	2	0xc6	imm8	Z80,R800,GB80
ADD	A,(HL)	1	0x86	noargs	Z80,R800,GB80
ADD	A,(IX+n)	3	0xdd,0x86	idx	Z80,R800
ADD	A,(IY+n)	3	0xfd,0x86	idx	Z80,R800

ADC	A,r	1	0x88	xx_r8	Z80,R800,GB80
ADC	A,p	2	0xdd,0x88	xx_r8	Z80,R800
ADC	A,q	2	0xfd,0x88	xx_r8	Z80,R800
ADC	A,imm8	2	0xce	imm8	Z80,R800,GB80
ADC	A,(HL)	1	0x8e	noargs	Z80,R800,GB80
ADC	A,(IX+n)	3	0xdd,0x8e	idx	Z80,R800
ADC	A,(IY+n)	3	0xfd,0x8e	idx	Z80,R800

SUB	A,r	1	0x90	xx_r8	Z80,R800,GB80
SUB	A,p	2	0xdd,0x90	xx_r8	Z80,R800
SUB	A,q	2	0xfd,0x90	xx_r8	Z80,R800
SUB	A,imm8	2	0xd6	imm8	Z80,R800,GB80
SUB	A,(HL)	1	0x96	noargs	Z80,R800,GB80
SUB	A,(IX+n)	3	0xdd,0x96	idx	Z80,R800
SUB	A,(IY+n)	3	0xfd,0x96	idx	Z80,R800

SBC	A,r	1	0x98	xx_r8	Z80,R800,GB80
SBC	A,p	2	0xdd,0x98	xx_r8	Z80,R800
SBC	A,q	2	0xfd,0x98	xx_r8	Z80,R800
SBC	A,imm8	2	0xde	imm8	Z80,R800,GB80
SBC	A,(HL)	1	0x9e	noargs	Z80,R800,GB80
SBC	A,(IX+n)	3	0xdd,0x9e	idx	Z80,R800
SBC	A,(IY+n)	3	0xfd,0x9e	idx	Z80,R800

AND	A,r	1	0xa0	xx_r8	Z80,R800,GB80
AND	A,p	2	0xdd,0xa0	xx_r8	Z80,R800
AND	A,q	2	0xfd,0xa0	xx_r8	Z80,R800
AND	A,imm8	2	0xe5	imm8	Z80,R800,GB80
AND	A,(HL)	1	0xa6	noargs	Z80,R800,GB80
AND	A,(IX+n)	3	0xdd,0xa6	idx	Z80,R800
AND	A,(IY+n)	3	0xfd,0xa6	idx	Z80,R800

OR	A,r	1	0xb0	xx_r8	Z80,R800,GB80
OR	A,p	2	0xdd,0xb0	xx_r8	Z80,R800
OR	A,q	2	0xfd,0xb0	xx_r8	Z80,R800
OR	A,imm8	2	0xf6	imm8	Z80,R800,GB80
OR	A,(HL)	1	0xb6	noargs	Z80,R800,GB80
OR	A,(IX+n)	3	0xdd,0xb6	idx	Z80,R800
OR	A,(IY+n)	3	0xfd,0xb6	idx	Z80,R800

XOR	A,r	1	0xa8	xx_r8	Z80,R800,GB80
XOR	A,p	2	0xdd,0xa8	xx_r8	Z80,R800
XOR	A,q	2	0xfd,0xa8	xx_r8	Z80,R800
XOR	A,imm8	2	0xe6	imm8	Z80,R800,GB80
XOR	A,(HL)	1	0xa6	noargs	Z80,R800,GB80
XOR	A,(IX+n)	3	0xdd,0xa6	idx	Z80,R800
XOR	A,(IY+n)	3	0xfd,0xa6	idx	Z80,R800

CP	A,r	1	0xb8	xx_r8	Z80,R800,GB80
CP	A,p	2	0xdd,0xb8	xx_r8	Z80,R800
CP	A,q	2	0xfd,0xb8	xx_r8	Z80,R800
CP	A,imm8	2	0xfe	imm8	Z80,R800,GB80
CP	A,(HL)	1	0xbe	noargs	Z80,R800,GB80
CP	A,(IX+n)	3	0xdd,0xbe	idx	Z80,R800
CP	A,(IY+n)	3	0xfd,0xbe	idx	Z80,R800

INC	r	1	0x40	r8	Z80,R800,GB80
INC	p	2	0xdd,0x40	r8	Z80,R800
INC	q	2	0xfd,0x40	r8	Z80,R800
INC	(HL)	1	0x34	noargs	Z80,R800,GB80
INC	(IX+n)	3	0xdd,0x34	idx	Z80,R800
INC	(IY+n)	3	0xfd,0x34	idx	Z80,R800

DEC	r	1	0x05	r8	Z80,R800,GB80
DEC	p	2	0xdd,0x05	r8	Z80,R800
DEC	q	2	0xfd,0x05	r8	Z80,R800
DEC	(HL)	1	0x35	noargs	Z80,R800,GB80
DEC	(IX+n)	3	0xdd,0x35	idx	Z80,R800
DEC	(IY+n)	3	0xfd,0x35	idx	Z80,R800

# 16 bit ALU group
ADD	HL,dd	1	0x09	r16	Z80,R800,GB80
ADC	HL,dd	2	0xed,0x4a	r16	Z80,R800
SBC	HL,dd	2	0xed,0x42	r16	Z80,R800
ADD	IX,pp	2	0xdd,0x09	r16	Z80,R800
ADD	IY,rr	2	0xfd,0x09	r16	Z80,R800

INC	dd	1	0x03	r16	Z80,R800,GB80
INC	IX	2	0xdd,0x23	noargs	Z80,R800
INC	IY	2	0xfd,0x23	noargs	Z80,R800

DEC	dd	1	0x0b	r16	Z80,R800,GB80
DEC	IX	2	0xdd,0x2b	noargs	Z80,R800
DEC	IY	2	0xfd,0x2b	noargs	Z80,R800

# General purpose arithmetic and CPU control group
DAA	none	1	0x27	noargs	Z80,R800,GB80
CPL	none	1	0x2f	noargs	Z80,R800,GB80
NEG	none	2	0xed,0x44	noargs	Z80,R800
CCF	none	1	0x3f	noargs	Z80,R800,GB80
SCF	none	1	0x37	noargs	Z80,R800,GB80
NOP	none	1	0x00	noargs	Z80,R800,GB80
HALT	none	1	0x76	noargs	Z80,R800,GB80
DI	none	1	0xf3	noargs	Z80,R800,GB80
EI	none	1	0xfb	noargs	Z80,R800,GB80
IM	imm8	2	0xed	im	Z80,R800

# Exchange, block transfer and search groups
EXX	none	1	0xd9	noargs	Z80,R800
LDI	none	2	0xed,0xa0	noargs	Z80,R800
LDIR	none	2	0xed,0xb0	noargs	Z80,R800
LDD	none	2	0xed,0xa8	noargs	Z80,R800
LDDR	none	2	0xed,0xb8	noargs	Z80,R800
CPI	none	2	0xed,0xa1	noargs	Z80,R800
CPIR	none	2	0xed,0xb1	noargs	Z80,R800
CPD	none	2	0xed,0xa9	noargs	Z80,R800
CPDR	none	2	0xed,0xb9	noargs	Z80,R800