| 	.h8300s | 
 | 	.section .text | 
 | 	.align 2 | 
 | 	.global _main | 
 | 	.global movb_tests | 
 | 	.global movw_tests | 
 | 	.global movl_tests | 
 | 	.global ldm_stm_tests | 
 | 	.global movfpe_movtpe_tests | 
 | 	.global add_sub_addx_subx_tests | 
 | 	.global inc_dec_adds_subs_tests | 
 | 	.global daa_das_tests | 
 | 	.global mul_div_tests | 
 | 	.global cmp_tests | 
 | 	.global neg_tests | 
 | 	.global ext_tests | 
 | 	.global tas_mac_tests | 
 | 	.global logic_operations_tests | 
 | 	.global sha_shl_tests | 
 | 	.global rot_rotx_tests | 
 | 	.global bset_bclr_tests | 
 | 	.global bnot_btst_tests | 
 | 	.global band_bor_bxor_tests | 
 | 	.global bld_bst_tests | 
 | 	.global branch_tests | 
 | 	.global system_control_tests | 
 | 	.global block_data_transfer_tests | 
 | _main: | 
 | 	nop | 
 |  | 
 | movb_tests: | 
 | 	mov.b	r0l,r0h | 
 | 	mov.b	#0x12,r1l | 
 | 	mov.b	@er0,r1h | 
 | 	mov.b	@(0x1234:16,er0),r2l | 
 | 	mov.b	@(0x12345678:32,er0),r2h | 
 | 	mov.b	@er0+,r3l | 
 | 	mov.b	@0x12:8,r3h | 
 | 	mov.b	@0x1234:16,r4l | 
 | 	mov.b	@0x12345678:32,r4h | 
 |  | 
 | movw_tests: | 
 | 	mov.w	e0,r0 | 
 | 	mov.w	#0x1234,r1 | 
 | 	mov.w	@er0,r2 | 
 | 	mov.w	@(0x1234:16,er0),r3 | 
 | 	mov.w	@(0x12345678:32,er0),r4 | 
 | 	mov.w	@er0+,r5 | 
 | 	mov.w	@0x1234:16,r6 | 
 | 	mov.w	@0x12345678:32,r7 | 
 |  | 
 | movl_tests: | 
 | 	mov.l	er0,er1 | 
 | 	mov.l	#0x12345678,er1 | 
 | 	mov.l	@er0,er2 | 
 | 	mov.l	@(0x1234:16,er0),er3 | 
 | 	mov.l	@(0x12345678:32,er0),er4 | 
 | 	mov.l	@er0+,er5 | 
 | 	mov.l	@0x1234:16,er6 | 
 | 	mov.l	@0x12345678:32,er7 | 
 |  | 
 | ldm_stm_tests: | 
 | 	ldm.l	@sp+,er0-er1 | 
 | 	ldm.l	@sp+,er0-er2 | 
 | 	ldm.l	@sp+,er0-er3 | 
 | 	stm.l	er0-er1,@-sp | 
 | 	stm.l	er0-er2,@-sp | 
 | 	stm.l	er0-er3,@-sp | 
 |  | 
 | movfpe_movtpe_tests: | 
 | 	movfpe	@0x1234:16,r2l | 
 | 	movtpe	r2l,@0x1234:16 | 
 |  | 
 | add_sub_addx_subx_tests: | 
 | 	add.b	#0x12,r0l | 
 | 	add.b	r1l,r1h | 
 | 	add.w	#0x1234,r2 | 
 | 	add.w	r3,r4 | 
 | 	add.l	#0x12345678,er5 | 
 | 	add.l	er6,er7 | 
 | 	sub.b	r1l,r1h | 
 | 	sub.w	#0x1234,r2 | 
 | 	sub.w	r3,r4 | 
 | 	sub.l	#0x12345678,er5 | 
 | 	sub.l	er6,er7 | 
 | 	addx	#0x12,r0l | 
 | 	addx	r1l,r1h | 
 | 	subx	#0x12,r0l | 
 | 	subx	r1l,r1h | 
 |  | 
 | inc_dec_adds_subs_tests: | 
 | 	inc.b	r0l | 
 | 	inc.w	#0x1,r4 | 
 | 	inc.w	#0x2,r3 | 
 | 	inc.l	#0x1,er2 | 
 | 	inc.l	#0x2,er1 | 
 | 	dec.b	r0l | 
 | 	dec.w	#0x1,r4 | 
 | 	dec.w	#0x2,r3 | 
 | 	dec.l	#0x1,er2 | 
 | 	dec.l	#0x2,er1 | 
 | 	adds	#0x1,er7 | 
 | 	adds	#0x2,er6 | 
 | 	adds	#0x4,er5 | 
 | 	subs	#0x1,er7 | 
 | 	subs	#0x2,er6 | 
 | 	subs	#0x4,er5 | 
 |  | 
 | daa_das_tests: | 
 | 	daa	r0l | 
 | 	das	r0h | 
 |  | 
 | mul_div_tests: | 
 | 	mulxs.b	r0l,r1 | 
 | 	mulxs.w	r2,er3 | 
 | 	mulxu.b	r0l,e1 | 
 | 	mulxu.w	e2,er3 | 
 | 	divxs.b	r0l,r1 | 
 | 	divxs.w	r2,er3 | 
 | 	divxu.b	r0l,e1 | 
 | 	divxu.w	e2,er3 | 
 |  | 
 | cmp_tests: | 
 | 	cmp.b	#0x12,r0l | 
 | 	cmp.b	r1l,r1h | 
 | 	cmp.w	#0x1234,r2 | 
 | 	cmp.w	r3,e3 | 
 | 	cmp.l	#0x12345678,er4 | 
 | 	cmp.l	er5,er6 | 
 |  | 
 | neg_tests: | 
 | 	neg.b	r0l | 
 | 	neg.w	r2 | 
 | 	neg.l	er3 | 
 |  | 
 | ext_tests: | 
 | 	exts.w	r0 | 
 | 	exts.l	er1 | 
 | 	extu.w	r2 | 
 | 	extu.l	er3 | 
 |  | 
 | tas_mac_tests: | 
 | 	tas	@er0 | 
 | 	mac	@er1+,@er2+ | 
 | 	clrmac | 
 | 	ldmac	er4,mach | 
 | 	ldmac	er5,macl | 
 | 	stmac	mach,er6 | 
 | 	stmac	macl,er7 | 
 |  | 
 | logic_operations_tests: | 
 | 	and.b	#0x12,r0l | 
 | 	and.b	r1l,r2h | 
 | 	and.w	#0x1234,r0 | 
 | 	and.w	r1,r2 | 
 | 	and.l	#0x12345678,er0 | 
 | 	and.l	er1,er2 | 
 | 	or.b	#0x12,r0l | 
 | 	or.b	r1l,r2h | 
 | 	or.w	#0x1234,r0 | 
 | 	or.w	r1,r2 | 
 | 	or.l	#0x12345678,er0 | 
 | 	or.l	er1,er2 | 
 | 	xor.b	#0x12,r0l | 
 | 	xor.b	r1l,r2h | 
 | 	xor.w	#0x1234,r0 | 
 | 	xor.w	r1,r2 | 
 | 	xor.l	#0x12345678,er0 | 
 | 	xor.l	er1,er2 | 
 | 	not.b	r0l | 
 | 	not.w	r1 | 
 | 	not.l	er2 | 
 |  | 
 | sha_shl_tests: | 
 | 	shal	r0l | 
 | 	shal	r1 | 
 | 	shal	er2 | 
 | 	shar	r3l | 
 | 	shar	r4 | 
 | 	shar	er5 | 
 | 	shll	r0l | 
 | 	shll	r1 | 
 | 	shll	er2 | 
 | 	shlr	r3l | 
 | 	shlr	r4 | 
 | 	shlr	er5 | 
 |  | 
 | rot_rotx_tests: | 
 | 	rotl	r0l | 
 | 	rotl	r1 | 
 | 	rotl	er2 | 
 | 	rotr	r3l | 
 | 	rotr	r4 | 
 | 	rotr	er5 | 
 | 	rotxl	r0l | 
 | 	rotxl	r1 | 
 | 	rotxl	er2 | 
 | 	rotxr	r3l | 
 | 	rotxr	r4 | 
 | 	rotxr	er5 | 
 |  | 
 | bset_bclr_tests: | 
 | 	bset	#0x7,r0l | 
 | 	bset	#0x6,@er1 | 
 | 	bset	#0x5,@0x12:8 | 
 | 	bset	#0x4,@0x1234:16 | 
 | 	bset	#0x3,@0x12345678:32 | 
 | 	bset	r7l,r0h | 
 | 	bset	r6l,@er1 | 
 | 	bset	r5l,@0x12:8 | 
 | 	bset	r4l,@0x1234:16 | 
 | 	bset	r3l,@0x12345678:32 | 
 | 	bclr	#0x7,r0l | 
 | 	bclr	#0x6,@er1 | 
 | 	bclr	#0x5,@0x12:8 | 
 | 	bclr	#0x4,@0x1234:16 | 
 | 	bclr	#0x3,@0x12345678:32 | 
 | 	bclr	r7h,r0h | 
 | 	bclr	r6h,@er1 | 
 | 	bclr	r5h,@0x12:8 | 
 | 	bclr	r4h,@0x1234:16 | 
 | 	bclr	r3h,@0x12345678:32 | 
 |  | 
 | bnot_btst_tests: | 
 | 	bnot	#0x7,r0l | 
 | 	bnot	#0x6,@er1 | 
 | 	bnot	#0x5,@0x12:8 | 
 | 	bnot	#0x4,@0x1234:16 | 
 | 	bnot	#0x3,@0x12345678:32 | 
 | 	bnot	r7l,r0h | 
 | 	bnot	r6l,@er1 | 
 | 	bnot	r5l,@0x12:8 | 
 | 	bnot	r4l,@0x1234:16 | 
 | 	bnot	r3l,@0x12345678:32 | 
 | 	btst	#0x7,r0l | 
 | 	btst	#0x6,@er1 | 
 | 	btst	#0x5,@0x12:8 | 
 | 	btst	#0x4,@0x1234:16 | 
 | 	btst	#0x3,@0x12345678:32 | 
 | 	btst	r7h,r0h | 
 | 	btst	r6h,@er1 | 
 | 	btst	r5h,@0x12:8 | 
 | 	btst	r4h,@0x1234:16 | 
 | 	btst	r3h,@0x12345678:32 | 
 |  | 
 | band_bor_bxor_tests: | 
 | 	band	#0x7,r0l | 
 | 	band	#0x6,@er1 | 
 | 	band	#0x5,@0x12:8 | 
 | 	band	#0x4,@0x1234:16 | 
 | 	band	#0x3,@0x12345678:32 | 
 | 	bor	#0x7,r0l | 
 | 	bor	#0x6,@er1 | 
 | 	bor	#0x5,@0x12:8 | 
 | 	bor	#0x4,@0x1234:16 | 
 | 	bor	#0x3,@0x12345678:32 | 
 | 	bxor	#0x7,r0l | 
 | 	bxor	#0x6,@er1 | 
 | 	bxor	#0x5,@0x12:8 | 
 | 	bxor	#0x4,@0x1234:16 | 
 | 	bxor	#0x3,@0x12345678:32 | 
 |  | 
 | bld_bst_tests: | 
 | 	bld	#0x7,r0l | 
 | 	bld	#0x6,@er1 | 
 | 	bld	#0x5,@0x12:8 | 
 | 	bld	#0x4,@0x1234:16 | 
 | 	bld	#0x3,@0x12345678:32 | 
 | 	bild	#0x7,r0l | 
 | 	bild	#0x6,@er1 | 
 | 	bild	#0x5,@0x12:8 | 
 | 	bild	#0x4,@0x1234:16 | 
 | 	bild	#0x3,@0x12345678:32 | 
 | 	bst	#0x7,r0l | 
 | 	bst	#0x6,@er1 | 
 | 	bst	#0x5,@0x12:8 | 
 | 	bst	#0x4,@0x1234:16 | 
 | 	bst	#0x3,@0x12345678:32 | 
 | 	bist	#0x7,r0l | 
 | 	bist	#0x6,@er1 | 
 | 	bist	#0x5,@0x12:8 | 
 | 	bist	#0x4,@0x1234:16 | 
 | 	bist	#0x3,@0x12345678:32 | 
 |  | 
 | branch_tests: | 
 | 	bra	branch_tests | 
 | 	brn	branch_tests | 
 | 	bhi	branch_tests | 
 | 	bls	branch_tests | 
 | 	bcc	branch_tests | 
 | 	bcs	branch_tests | 
 | 	bne	branch_tests | 
 | 	beq	branch_tests | 
 | 	bvc	branch_tests | 
 | 	bvs	branch_tests | 
 | 	bpl	branch_tests | 
 | 	bmi	branch_tests | 
 | 	bge	branch_tests | 
 | 	blt	branch_tests | 
 | 	bgt	branch_tests | 
 | 	ble	branch_tests | 
 | 	jmp	@er0 | 
 | 	jmp	@branch_tests | 
 | 	jmp	@@0 (0) | 
 | 	bsr	branch_tests:8 | 
 | 	bsr	branch_tests:16 | 
 | 	jsr	@er0 | 
 | 	jsr	@branch_tests | 
 | 	jsr	@@0 (0) | 
 | 	rts | 
 |  | 
 | system_control_tests: | 
 | 	trapa	#0x2 | 
 | 	rte | 
 | 	sleep | 
 | 	ldc	#0x12,ccr | 
 | 	ldc	r3l,ccr | 
 | 	ldc	@er0,ccr | 
 | 	ldc	@(0x1234:16,er0),ccr | 
 | 	ldc	@(0x12345678:32,er0),ccr | 
 | 	ldc	@er1+,ccr | 
 | 	ldc	@0x1234:16,ccr | 
 | 	ldc	@0x12345678:32,ccr | 
 | 	stc	ccr,r3l | 
 | 	stc	ccr,@er0 | 
 | 	stc	ccr,@(0x1234:16,er0) | 
 | 	stc	ccr,@(0x12345678:32,er0) | 
 | 	stc	ccr,@-er1 | 
 | 	stc	ccr,@0x1234:16 | 
 | 	stc	ccr,@0x12345678:32 | 
 | 	andc	#0x12,ccr | 
 | 	orc	#0x34,ccr | 
 | 	xorc	#0x56,ccr | 
 | 	ldc	#0x12,exr | 
 | 	ldc	r3l,exr | 
 | 	ldc	@er0,exr | 
 | 	ldc	@(0x1234:16,er0),exr | 
 | 	ldc	@(0x12345678:32,er0),exr | 
 | 	ldc	@er1+,exr | 
 | 	ldc	@0x1234:16,exr | 
 | 	ldc	@0x12345678:32,exr | 
 | 	stc	exr,r3l | 
 | 	stc	exr,@er0 | 
 | 	stc	exr,@(0x1234:16,er0) | 
 | 	stc	exr,@(0x12345678:32,er0) | 
 | 	stc	exr,@-er1 | 
 | 	stc	exr,@0x1234:16 | 
 | 	stc	exr,@0x12345678:32 | 
 | 	andc	#0x12,exr | 
 | 	orc	#0x34,exr | 
 | 	xorc	#0x56,exr | 
 | 	nop | 
 |  | 
 | block_data_transfer_tests: | 
 | 	eepmov.b | 
 | 	eepmov.w |