diff options
| author | fishsoupisgood <github@madingley.org> | 2019-05-27 02:41:51 +0100 | 
|---|---|---|
| committer | fishsoupisgood <github@madingley.org> | 2019-05-27 02:41:51 +0100 | 
| commit | 333b605b2afd472b823aeda0adf0e8b1ea9843c0 (patch) | |
| tree | bc8f581317897e2e53f278f1716b4471fcdccd4f /tests/t_tms7 | |
| download | asl-master.tar.gz asl-master.tar.bz2 asl-master.zip  | |
Diffstat (limited to 'tests/t_tms7')
| -rw-r--r-- | tests/t_tms7/asflags | 0 | ||||
| -rwxr-xr-x | tests/t_tms7/t_tms7.asm | 364 | ||||
| -rw-r--r-- | tests/t_tms7/t_tms7.doc | 5 | ||||
| -rwxr-xr-x | tests/t_tms7/t_tms7.ori | bin | 0 -> 696 bytes | 
4 files changed, 369 insertions, 0 deletions
diff --git a/tests/t_tms7/asflags b/tests/t_tms7/asflags new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/t_tms7/asflags diff --git a/tests/t_tms7/t_tms7.asm b/tests/t_tms7/t_tms7.asm new file mode 100755 index 0000000..efd4e0a --- /dev/null +++ b/tests/t_tms7/t_tms7.asm @@ -0,0 +1,364 @@ +        cpu     tms70c08
 +
 +        page    0
 +
 +        include reg7000
 +
 +; additional syntax options marked with ***
 +
 +	adc	b,a
 +        adc	r10,a
 +        adc	r20,b
 +        adc	r30,r40
 +        adc	%20,a
 +        adc	#20,a		; ***
 +        adc	%30,b
 +        adc	#30,b           ; ***
 +        adc	%40,r50
 +        adc	#40,r50         ; ***
 +
 +	add	b,a
 +        add	r10,a
 +        add	r20,b
 +        add	r30,r40
 +        add	%20,a
 +        add	#20,a		; ***
 +        add	%30,b
 +        add	#30,b           ; ***
 +        add	%40,r50
 +        add	#40,r50         ; ***
 +
 +	and	b,a
 +        and	r10,a
 +        and	r20,b
 +        and	r30,r40
 +        and	%20,a
 +        and	#20,a		; ***
 +        and	%30,b
 +        and	#30,b           ; ***
 +        and	%40,r50
 +        and	#40,r50         ; ***
 +	andp	a,p20
 +        and	a,p20		; ***
 +        andp	b,p30
 +        and	b,p30		; ***
 +        andp	#50,p40
 +        and	#50,p40		; ***
 +
 +	btjo	b,a,$
 +        btjo	r10,a,$
 +        btjo	r20,b,$
 +        btjo	r30,r40,$
 +        btjo	%20,a,$
 +        btjo	#20,a,$		; ***
 +        btjo	%30,b,$
 +        btjo	#30,b,$         ; ***
 +        btjo	%40,r50,$
 +        btjo	#40,r50,$       ; ***
 +	btjop	a,p20,$
 +        btjo	a,p20,$		; ***
 +        btjop	b,p30,$
 +        btjo	b,p30,$		; ***
 +        btjop	#50,p40,$
 +        btjo	#50,p40,$	; ***
 +
 +	btjz	b,a,$
 +        btjz	r10,a,$
 +        btjz	r20,b,$
 +        btjz	r30,r40,$
 +        btjz	%20,a,$
 +        btjz	#20,a,$		; ***
 +        btjz	%30,b,$
 +        btjz	#30,b,$         ; ***
 +        btjz	%40,r50,$
 +        btjz	#40,r50,$       ; ***
 +	btjzp	a,p20,$
 +        btjz	a,p20,$		; ***
 +        btjzp	b,p30,$
 +        btjz	b,p30,$		; ***
 +        btjzp	#50,p40,$
 +        btjz	#50,p40,$	; ***
 +
 +	br	@1234h
 +        br	1234h		; ***
 +        br	@1234h(b)
 +        br	1234h(b)	; ***
 +        br	*r30
 +
 +	call	@1234h
 +        call	1234h		; ***
 +        call	@1234h(b)
 +        call	1234h(b)	; ***
 +        call	*r30
 +
 +        clr	a
 +        clr	b
 +        clr	r10
 +
 +        clrc
 +
 +	cmp	b,a
 +        cmp	r10,a
 +        cmp	r20,b
 +        cmp	r30,r40
 +        cmp	%20,a
 +        cmp	#20,a		; ***
 +        cmp	%30,b
 +        cmp	#30,b           ; ***
 +        cmp	%40,r50
 +        cmp	#40,r50         ; ***
 +	cmpa	@1234h
 +        cmpa	1234h		; ***
 +        cmp	@1234h,a	; ***
 +        cmp	1234h,a		; ***
 +	cmpa	@1234h(b)
 +        cmpa	1234h(b)	; ***
 +        cmp	@1234h(b),a	; ***
 +        cmp	1234h(b),a	; ***
 +	cmpa	*r60
 +        cmp	*r60,a		; ***
 +
 +	dac	b,a
 +        dac	r10,a
 +        dac	r20,b
 +        dac	r30,r40
 +        dac	%20,a
 +        dac	#20,a		; ***
 +        dac	%30,b
 +        dac	#30,b           ; ***
 +        dac	%40,r50
 +        dac	#40,r50         ; ***
 +
 +        dec	a
 +        dec	b
 +        dec	r10
 +
 +        decd	a
 +        decd	b
 +        decd	r10
 +
 +        dint
 +
 +        djnz	a,$
 +        djnz	b,$
 +        djnz	r10,$
 +
 +	dsb	b,a
 +        dsb	r10,a
 +        dsb	r20,b
 +        dsb	r30,r40
 +        dsb	%20,a
 +        dsb	#20,a		; ***
 +        dsb	%30,b
 +        dsb	#30,b           ; ***
 +        dsb	%40,r50
 +        dsb	#40,r50         ; ***
 +
 +        eint
 +
 +        idle
 +
 +        inc	a
 +        inc	b
 +        inc	r10
 +
 +        inv	a
 +        inv	b
 +        inv	r10
 +
 +        jmp	$
 +        jc	$
 +        jeq	$
 +        jhs	$
 +        jl	$
 +        jn	$
 +        jnc	$
 +        jne	$
 +        jnz	$
 +        jp	$
 +        jpz	$
 +        jz	$
 +
 +        lda	@1234h
 +        lda	1234h		; ***
 +        mov	@1234h,a	; ***
 +        mov	1234h,a		; ***
 +        lda	@1234h(b)
 +        lda	1234h(b)	; ***
 +        mov	@1234h(b),a	; ***
 +        mov	1234h(b),a	; ***
 +	lda	*r10
 +        mov	*r10,a		; ***
 +
 +        ldsp
 +
 +        mov	a,b
 +        mov	a,r10
 +        mov	b,a
 +        mov	b,r20
 +        mov	r30,a
 +        mov	r40,b
 +        mov	r50,r60
 +        mov	%10,a
 +        mov	#10,a		; ***
 +        mov	%20,b
 +        mov	#20,b		; ***
 +        mov	%30,r70
 +        mov	#30,r70		; ***
 +
 +        movd	%1234h,r10
 +        movd	#1234h,r10	; ***
 +        movd	%1234h(b),r20
 +        movd	#1234h(b),r20   ; ***
 +        movd	r30,r40
 +
 +        movw	%1234h,r10      ; ***
 +        movw	#1234h,r10	; ***
 +        movw	%1234h(b),r20   ; ***
 +        movw	#1234h(b),r20   ; ***
 +        movw	r30,r40         ; ***
 +
 +        movp	a,p10
 +        mov	a,p10		; ***
 +        movp	b,p20
 +        mov	b,p20		; ***
 +        movp	%10,p30
 +        movp	#10,p30		; ***
 +        mov	%10,p30		; ***
 +        mov	#10,p30		; ***
 +        movp	p40,a
 +        mov	p40,a		; ***
 +        movp	p50,b
 +        mov	p50,b		; ***
 +
 +	mpy	b,a
 +        mpy	r10,a
 +        mpy	r20,b
 +        mpy	r30,r40
 +        mpy	%20,a
 +        mpy	#20,a		; ***
 +        mpy	%30,b
 +        mpy	#30,b           ; ***
 +        mpy	%40,r50
 +        mpy	#40,r50         ; ***
 +
 +	nop
 +
 +	or	b,a
 +        or	r10,a
 +        or	r20,b
 +        or	r30,r40
 +        or	%20,a
 +        or	#20,a		; ***
 +        or	%30,b
 +        or	#30,b           ; ***
 +        or	%40,r50
 +        or	#40,r50         ; ***
 +	orp	a,p20
 +        or	a,p20		; ***
 +        orp	b,p30
 +        or	b,p30		; ***
 +        orp	#50,p40
 +        or	#50,p40		; ***
 +
 +        pop	a
 +        pop	b
 +        pop	r10
 +        pop	st
 +
 +        push	a
 +        push	b
 +        push	r10
 +        push	st
 +
 +        reti
 +        rti			; ***
 +
 +        rets
 +        rts			; ***
 +
 +        rl	a
 +        rl	b
 +        rl	r10
 +
 +        rlc	a
 +        rlc	b
 +        rlc	r10
 +
 +        rr	a
 +        rr	b
 +        rr	r10
 +
 +        rrc	a
 +        rrc	b
 +        rrc	r10
 +
 +	sbb	b,a
 +        sbb	r10,a
 +        sbb	r20,b
 +        sbb	r30,r40
 +        sbb	%20,a
 +        sbb	#20,a		; ***
 +        sbb	%30,b
 +        sbb	#30,b           ; ***
 +        sbb	%40,r50
 +        sbb	#40,r50         ; ***
 +
 +        setc
 +
 +        sta	@1234h
 +        sta	1234h		; ***
 +        mov	a,@1234h	; ***
 +        mov	a,1234h		; ***
 +        sta	@1234h(b)
 +        sta	1234h(b)	; ***
 +        mov	a,@1234h(b)	; ***
 +        mov	a,1234h(b)	; ***
 +	sta	*r10
 +        mov	a,*r10		; ***
 +
 +        stsp
 +
 +	sub	b,a
 +        sub	r10,a
 +        sub	r20,b
 +        sub	r30,r40
 +        sub	%20,a
 +        sub	#20,a		; ***
 +        sub	%30,b
 +        sub	#30,b           ; ***
 +        sub	%40,r50
 +        sub	#40,r50         ; ***
 +
 +        swap	a
 +        swap	b
 +        swap	r10
 +
 +        trap	0
 +        trap	23
 +
 +        tsta
 +        tst	a		; ***
 +        tstb
 +        tst	b		; ***
 +
 +        xchb	a
 +        xchb	b		; ***
 +        xchb	r10
 +
 +	xor	b,a
 +        xor	r10,a
 +        xor	r20,b
 +        xor	r30,r40
 +        xor	%20,a
 +        xor	#20,a		; ***
 +        xor	%30,b
 +        xor	#30,b           ; ***
 +        xor	%40,r50
 +        xor	#40,r50         ; ***
 +	xorp	a,p20
 +        xor	a,p20		; ***
 +        xorp	b,p30
 +        xor	b,p30		; ***
 +        xorp	#50,p40
 +        xor	#50,p40		; ***
 diff --git a/tests/t_tms7/t_tms7.doc b/tests/t_tms7/t_tms7.doc new file mode 100644 index 0000000..8729cc7 --- /dev/null +++ b/tests/t_tms7/t_tms7.doc @@ -0,0 +1,5 @@ ++-------------------------- Test Application TMS7 ---------------------------+ +|                                                                            | +|      This is a (synthetic) test of the TMS7000 instruction set             | +|                                                                            | ++----------------------------------------------------------------------------+ diff --git a/tests/t_tms7/t_tms7.ori b/tests/t_tms7/t_tms7.ori Binary files differnew file mode 100755 index 0000000..c8d60c7 --- /dev/null +++ b/tests/t_tms7/t_tms7.ori  | 
