	.title	AS6804 Sequential Test

	.radix	x

	.area	DATA (ABS,OVR)

	bit0	=	0
	bit1	=	1
	bit2	=	2
	bit3	=	3
	bit4	=	4
	bit5	=	5
	bit6	=	6
	bit7	=	7

	defg = 0xFE

loc0:	.blkb	1
abcd:	.blkb	1
ram:	.blkb	1
	. = loc0 + 0x0100
loc1:
	. = loc0 + 0x0200
loc2:
	. = loc0 + 0x0300
loc3:
	. = loc0 + 0x0400
loc4:
	. = loc0 + 0x0500
loc5:
	. = loc0 + 0x0600
loc6:
	. = loc0 + 0x0700
loc7:
	. = loc0 + 0x0800
loc8:
	. = loc0 + 0x0900
loc9:
	. = loc0 + 0x0A00
loc10:
	. = loc0 + 0x0B00
loc11:
	. = loc0 + 0x0C00
loc12:
	. = loc0 + 0x0D00
loc13:
	. = loc0 + 0x0E00
loc14:
	. = loc0 + 0x0F00
loc15:

	.page

	.area	AS6804

	bne	.+0x01		; 00
	bne	.+0x02		; 01
	bne	.+0x03		; 02
	bne	.+0x04		; 03
	bne	.+0x05		; 04
	bne	.+0x06		; 05
	bne	.+0x07		; 06
	bne	.+0x08		; 07
	bne	.+0x09		; 08
	bne	.+0x0A		; 09
	bne	.+0x0B		; 0A
	bne	.+0x0C		; 0B
	bne	.+0x0D		; 0C
	bne	.+0x0E		; 0D
	bne	.+0x0F		; 0E
	bne	.+0x10		; 0F
	bne	.-0x0F		; 10
	bne	.-0x0E		; 11
	bne	.-0x0D		; 12
	bne	.-0x0C		; 13
	bne	.-0x0B		; 14
	bne	.-0x0A		; 15
	bne	.-0x09		; 16
	bne	.-0x08		; 17
	bne	.-0x07		; 18
	bne	.-0x06		; 19
	bne	.-0x05		; 1A
	bne	.-0x04		; 1B
	bne	.-0x03		; 1C
	bne	.-0x02		; 1D
	bne	.-0x01		; 1E
	bne	.		; 1F

	.page

	beq	.+0x01		; 20
	beq	.+0x02		; 21
	beq	.+0x03		; 22
	beq	.+0x04		; 23
	beq	.+0x05		; 24
	beq	.+0x06		; 25
	beq	.+0x07		; 26
	beq	.+0x08		; 27
	beq	.+0x09		; 28
	beq	.+0x0A		; 29
	beq	.+0x0B		; 2A
	beq	.+0x0C		; 2B
	beq	.+0x0D		; 2C
	beq	.+0x0E		; 2D
	beq	.+0x0F		; 2E
	beq	.+0x10		; 2F
	beq	.-0x0F		; 30
	beq	.-0x0E		; 31
	beq	.-0x0D		; 32
	beq	.-0x0C		; 33
	beq	.-0x0B		; 34
	beq	.-0x0A		; 35
	beq	.-0x09		; 36
	beq	.-0x08		; 37
	beq	.-0x07		; 38
	beq	.-0x06		; 39
	beq	.-0x05		; 3A
	beq	.-0x04		; 3B
	beq	.-0x03		; 3C
	beq	.-0x02		; 3D
	beq	.-0x01		; 3E
	beq	.		; 3F

	.page

	bcc	.+0x01		; 40
	bcc	.+0x02		; 41
	bcc	.+0x03		; 42
	bcc	.+0x04		; 43
	bcc	.+0x05		; 44
	bcc	.+0x06		; 45
	bcc	.+0x07		; 46
	bcc	.+0x08		; 47
	bcc	.+0x09		; 48
	bcc	.+0x0A		; 49
	bcc	.+0x0B		; 4A
	bcc	.+0x0C		; 4B
	bcc	.+0x0D		; 4C
	bcc	.+0x0E		; 4D
	bcc	.+0x0F		; 4E
	bcc	.+0x10		; 4F
	bcc	.-0x0F		; 50
	bcc	.-0x0E		; 51
	bcc	.-0x0D		; 52
	bcc	.-0x0C		; 53
	bcc	.-0x0B		; 54
	bcc	.-0x0A		; 55
	bcc	.-0x09		; 56
	bcc	.-0x08		; 57
	bcc	.-0x07		; 58
	bcc	.-0x06		; 59
	bcc	.-0x05		; 5A
	bcc	.-0x04		; 5B
	bcc	.-0x03		; 5C
	bcc	.-0x02		; 5D
	bcc	.-0x01		; 5E
	bcc	.		; 5F

	.page

	bcs	.+0x01		; 60
	bcs	.+0x02		; 61
	bcs	.+0x03		; 62
	bcs	.+0x04		; 63
	bcs	.+0x05		; 64
	bcs	.+0x06		; 65
	bcs	.+0x07		; 66
	bcs	.+0x08		; 67
	bcs	.+0x09		; 68
	bcs	.+0x0A		; 69
	bcs	.+0x0B		; 6A
	bcs	.+0x0C		; 6B
	bcs	.+0x0D		; 6C
	bcs	.+0x0E		; 6D
	bcs	.+0x0F		; 6E
	bcs	.+0x10		; 6F
	bcs	.-0x0F		; 70
	bcs	.-0x0E		; 71
	bcs	.-0x0D		; 72
	bcs	.-0x0C		; 73
	bcs	.-0x0B		; 74
	bcs	.-0x0A		; 75
	bcs	.-0x09		; 76
	bcs	.-0x08		; 77
	bcs	.-0x07		; 78
	bcs	.-0x06		; 79
	bcs	.-0x05		; 7A
	bcs	.-0x04		; 7B
	bcs	.-0x03		; 7C
	bcs	.-0x02		; 7D
	bcs	.-0x01		; 7E
	bcs	.		; 7F

	.page

	jsr	loc0		; 80 00
	jsr	loc1		; 81 00
	jsr	loc2		; 82 00
	jsr	loc3		; 83 00
	jsr	loc4		; 84 00
	jsr	loc5		; 85 00
	jsr	loc6		; 86 00
	jsr	loc7		; 87 00
	jsr	loc8		; 88 00
	jsr	loc9		; 89 00
	jsr	loc10		; 8A 00
	jsr	loc11		; 8B 00
	jsr	loc12		; 8C 00
	jsr	loc13		; 8D 00
	jsr	loc14		; 8E 00
	jsr	loc15		; 8F 00

	jmp	loc0		; 90 00
	jmp	loc1		; 91 00
	jmp	loc2		; 92 00
	jmp	loc3		; 93 00
	jmp	loc4		; 94 00
	jmp	loc5		; 95 00
	jmp	loc6		; 96 00
	jmp	loc7		; 97 00
	jmp	loc8		; 98 00
	jmp	loc9		; 99 00
	jmp	loc10		; 9A 00
	jmp	loc11		; 9B 00
	jmp	loc12		; 9C 00
	jmp	loc13		; 9D 00
	jmp	loc14		; 9E 00
	jmp	loc15		; 9F 00

	.page

				; A0
				; A1
				; A2
				; A3
				; A4
				; A5
				; A6
				; A7
	incx			; A8
	incy			; A9
				; AA
				; AB
	txa			; AC
	tya			; AD
				; AE
				; AF

	mvi	abcd,#defg	; B0 01 FE
				; B1
	rti			; B2
	rts			; B3
	coma			; B4
	rola			; B5
	stop			; B6
	wait			; B7
	decx			; B8
	decy			; B9
				; BA
				; BB
	tax			; BC
	tay			; BD
				; BE
				; BF

	.page

1$:	brclr	#bit0,ram, .	; C0 02 FD
2$:	brclr	#bit1,ram,2$	; C1 02 FD
3$:	brclr	#bit2,ram,3$	; C2 02 FD
4$:	brclr	#bit3,ram,4$	; C3 02 FD
5$:	brclr	#bit4,ram,5$	; C4 02 FD
6$:	brclr	#bit5,ram,6$	; C5 02 FD
7$:	brclr	#bit6,ram,7$	; C6 02 FD
8$:	brclr	#bit7,ram,8$	; C7 02 FD

9$:	brset	#bit0,ram,9$	; C8 02 FD
10$:	brset	#bit1,ram,10$	; C9 02 FD
11$:	brset	#bit2,ram,11$	; CA 02 FD
12$:	brset	#bit3,ram,12$	; CB 02 FD
13$:	brset	#bit4,ram,13$	; CC 02 FD
14$:	brset	#bit5,ram,14$	; CD 02 FD
15$:	brset	#bit6,ram,15$	; CE 02 FD
16$:	brset	#bit7,ram,16$	; CF 02 FD

	bclr	#bit0,ram	; D0 02
	bclr	#bit1,ram	; D1 02
	bclr	#bit2,ram	; D2 02
	bclr	#bit3,ram	; D3 02
	bclr	#bit4,ram	; D4 02
	bclr	#bit5,ram	; D5 02
	bclr	#bit6,ram	; D6 02
	bclr	#bit7,ram	; D7 02

	bset	#bit0,ram	; D8 02
	bset	#bit1,ram	; D9 02
	bset	#bit2,ram	; DA 02
	bset	#bit3,ram	; DB 02
	bset	#bit4,ram	; DC 02
	bset	#bit5,ram	; DD 02
	bset	#bit6,ram	; DE 02
	bset	#bit7,ram	; DF 02

	.page

	lda	,x		; E0
	sta	,x		; E1
	add	,x		; E2
	sub	,x		; E3
	cmp	,x		; E4
	and	,x		; E5
	inc	,x		; E6
	dec	,x		; E7

	lda	#defg		; E8 FE
				; E9
	add	#defg		; EA FE
	sub	#defg		; EB FE
	cmp	#defg		; EC FE
	and	#defg		; ED FE
				; EE
				; EF

	lda	,y		; F0
	sta	,y		; F1
	add	,y		; F2
	sub	,y		; F3
	cmp	,y		; F4
	and	,y		; F5
	inc	,y		; F6
	dec	,y		; F7

	lda	ram		; F8 02
	sta	ram		; F9 02
	add	ram		; FA 02
	sub	ram		; FB 02
	cmp	ram		; FC 02
	and	ram		; FD 02
	inc	ram		; FE 02
	dec	ram		; FF 02

	.page
	.sbttl	Special Forms of inc, dec, lda, and sta

	inc	0x80		; A8	incx
	inc	0x81		; A9	incy
	inc	0x82		; AA
	inc	0x83		; AB
	lda	0x80		; AC	txa
	lda	0x81		; AD	tya
	lda	0x82		; AE
	lda	0x83		; AF

	dec	0x80		; B8	decx
	dec	0x81		; B9	decy
	dec	0x82		; BA
	dec	0x83		; BB
	sta	0x80		; BC	tax
	sta	0x81		; BD	tay
	sta	0x82		; BE
	sta	0x83		; BF

	.sbttl	Derived Instructions

	asla			; FA FF
17$:	bam	17$		; CF FF FD
18$:	bap	18$		; C7 FF FD
19$:	bxmi	19$		; CF 80 FD
20$:	bxpl	20$		; C7 80 FD
21$:	bymi	21$		; CF 81 FD
22$:	bypl	22$		; C7 81 FD
	clra			; FB FF
	clrx			; B0 80 00
	clry			; B0 81 00
	deca			; FF FF
	decx			; B8
	decy			; B9
	inca			; FE FF
	incx			; A8
	incy			; A9
	ldxi	#defg		; B0 80 FE
	ldyi	#defg		; B0 81 FE
	nop			; 20
	tax			; BC
	tay			; BD
	txa			; AC
	tya			; AD

