	cpu	pms134
	page	0

databit3	bit	[0x78].3
databit4	bit	[0x78],4
databit5	bit	databit4+1
portbit5	bit	io(0x78).5
portbit6	bit	io(0x78).6
portbit8	bit	portbit6+2

	nop			; 0x0000

	addc	a		; 0x0060
	subc	a		; 0x0061
	izsn	a		; 0x0062
	dzsn	a		; 0x0063
	pcadd	a		; 0x0067
	not	a		; 0x0068
	neg	a		; 0x0069
	sr	a		; 0x006a
	sl	a		; 0x006b
	src	a		; 0x006c
	slc	a		; 0x006d
	swap	a		; 0x006e

	wdreset			; 0x0070
	pushaf			; 0x0072
	popaf			; 0x0073
	reset			; 0x0075
	stopsys			; 0x0076
	stopexe			; 0x0077
	engint			; 0x0078
	disgint			; 0x0079
	ret			; 0x007a
	reti			; 0x007b
	mul			; 0x007c

	xor	io(0x78),a	; 0x00f8
	mov	io(0x78),a	; 0x0178
	mov	a,io(0x78)	; 0x01f8

	ret	0xab		; 0x02ab

	ldtabl	[0x78]		; 0x0578
	ldtabh	[0x78]		; 0x0579
	stt16	[0x78]		; 0x0678
	ldt16	[0x78]		; 0x0679
	idxm	[0x78],a	; 0x0778
	idxm	a,[0x78]	; 0x0779

	nmov	a,[0x78]	; 0x0878
	nmov	[0x78],a	; 0x0978
	swap	[0x78]		; 0x0a78
	comp	a,[0x78]	; 0x0c78
	comp	[0x78],a	; 0x0d78
	nadd	a,[0x78]	; 0x0e78
	nadd	[0x78],a	; 0x0f78
	add	[0x78],a	; 0x1078
	sub	[0x78],a	; 0x11f8
	addc	[0x78],a	; 0x1278
	subc	[0x78],a	; 0x13f8
	and	[0x78],a	; 0x1478
	or	[0x78],a	; 0x1578
	xor	[0x78],a	; 0x1678
	mov	[0x78],a	; 0x1778
	add	a,[0x78]	; 0x1878
	sub	a,[0x78]	; 0x1978
	addc	a,[0x78]	; 0x1a78
	subc	a,[0x78]	; 0x1b78
	and	a,[0x78]	; 0x1c78
	or	a,[0x78]	; 0x1d78
	xor	a,[0x78]	; 0x1e78
	mov	a,[0x78]	; 0x1f78

	addc	[0xef]		; 0x20ef
	subc	[0xef]		; 0x21ef
	izsn	[0xef]		; 0x22ef
	dzsn	[0xef]		; 0x23ef
	inc	[0xef]		; 0x24ef
	dec	[0xef]		; 0x25ef
	clear	[0xef]		; 0x26ef
	xch	[0xef]		; 0x27ef
	not	[0xef]		; 0x28ef
	neg	[0xef]		; 0x29ef
	sr	[0xef]		; 0x2aef
	sl	[0xef]		; 0x2bef
	src	[0xef]		; 0x2cef
	slc	[0xef]		; 0x2def
	ceqsn	a,[0xef]	; 0x2eef
	cneqsn	a,[0xef]	; 0x2fef

	t0sn	io(0x78).5	; 0x32f8
	t0sn	portbit5	; 0x32f8
	t0sn	io(0x78),6	; 0x3378
	t0sn	portbit6	; 0x3378
	t0sn	io(0x79),0	; 0x3079
	t0sn	portbit8	; 0x3079
	t1sn	io(0x78).5	; 0x36f8
	t1sn	portbit5	; 0x36f8
	t1sn	io(0x78),6	; 0x3778
	t1sn	portbit6	; 0x3778
	t1sn	io(0x79),0	; 0x3479
	t1sn	portbit8	; 0x3479
	set0	io(0x78).5	; 0x3af8
	set0	portbit5	; 0x3af8
	set0	io(0x78),6	; 0x3b78
	set0	portbit6	; 0x3b78
	set0	io(0x79),0	; 0x3879
	set0	portbit8	; 0x3879
	set1	io(0x78).5	; 0x3ef8
	set1	portbit5	; 0x3ef8
	set1	io(0x78),6	; 0x3f78
	set1	portbit6	; 0x3f78
	set1	io(0x79),0	; 0x3c79
	set1	portbit8	; 0x3c79

	t0sn	[0x78].3	; 0x41f8
	t0sn	databit3	; 0x41f8
	t0sn	[0x78],4	; 0x4278
	t0sn	databit4	; 0x4278
	t0sn	[0x78],5	; 0x42f8
	t0sn	databit5	; 0x42f8
	t1sn	[0x78].3	; 0x45f8
	t1sn	databit3	; 0x45f8
	t1sn	[0x78],4	; 0x4678
	t1sn	databit4	; 0x4678
	t1sn	[0x78],5	; 0x46f8
	t1sn	databit5	; 0x46f8
	set0	[0x78].3	; 0x49f8
	set0	databit3	; 0x49f8
	set0	[0x78],4	; 0x4a78
	set0	databit4	; 0x4a78
	set0	[0x78],5	; 0x4af8
	set0	databit5	; 0x4af8
	set1	[0x78].3	; 0x4df8
	set1	databit3	; 0x4df8
	set1	[0x78],4	; 0x4e78
	set1	databit4	; 0x4e78
	set1	[0x78],5	; 0x4ef8
	set1	databit5	; 0x4ef8

	add	a,0xab		; 0x50ab
	sub	a,0xab		; 0x51ab
	ceqsn	a,0xab		; 0x52ab
	cneqsn	a,0xab		; 0x53ab
	and	a,0xab		; 0x54ab
	or	a,0xab		; 0x55ab
	xor	a,0xab		; 0x56ab
	mov	a,0xab		; 0x57ab

	swapc	io(0x78).5	; 0x5ef8
	swapc	portbit5	; 0x5ef8
	swapc	io(0x78).6	; 0x5f78
	swapc	portbit6	; 0x5f78
	swapc	io(0x79).0	; 0x5c79
	swapc	portbit8	; 0x5c79

	goto	0xdef		; 0x6def
	call	0xdef		; 0x7def

	data	1000,3000,5000,7000,9000,11000,13000,15000,17000,19000,21000,23000,25000,27000,29000,31000
	expect	1320
	data	33000
	endexpect
	data	"12345678"

uart	struct
data	res	1
ctrl	res	1
txen	bit	ctrl,0
rxen	bit	ctrl,1
stat	res	1
drdy	bit	stat,0
txempt	bit	stat,1
rxovr	bit	stat,2
txovr	bit	stat,3
	endstruct

	segment	data

	org	0x08
uart1	uart
