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_xa | |
| download | asl-master.tar.gz asl-master.tar.bz2 asl-master.zip | |
Diffstat (limited to 'tests/t_xa')
| -rw-r--r-- | tests/t_xa/asflags | 0 | ||||
| -rw-r--r-- | tests/t_xa/t_xa.asm | 603 | ||||
| -rw-r--r-- | tests/t_xa/t_xa.doc | 5 | ||||
| -rw-r--r-- | tests/t_xa/t_xa.ori | bin | 0 -> 1525 bytes | 
4 files changed, 608 insertions, 0 deletions
| diff --git a/tests/t_xa/asflags b/tests/t_xa/asflags new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/t_xa/asflags diff --git a/tests/t_xa/t_xa.asm b/tests/t_xa/t_xa.asm new file mode 100644 index 0000000..68800d2 --- /dev/null +++ b/tests/t_xa/t_xa.asm @@ -0,0 +1,603 @@ +        cpu     xag3 + +        page	0 + +        include stddefxa + +        segment io + +port1   ds.b    1 +port2   ds.b    1 + +        segment code + +        supmode on + +regbit1	bit	r3l.4 +regbit2	bit	sp.5 +regbit3	bit	r5h.5 +regbit4	bit	sp.14 +membit1	bit	22h.5 +membit2	bit	50023h.5 +iobit1	bit	port1.2 +regbit5	bit	regbit4+1 + +        add.b   r4h,r1l +        add.w   r5,r3 +        add.b   r5l,[r6] +        add.w   r4,[sp] +        add.b   [r6],r5l +        add.w   [sp],r4 +        add.b   r3h,[r6+2] +        add.w   r4,[r3+100] +        add.b   [r6+2],r3h +        add.w   [r3+100],r4 +        add.b   r3h,[r6+200] +        add.w   r4,[r3+1000] +        add.b   [r6+200],r3h +        add.w   [r3+1000],r4 +        add.b   r4h,[r1+] +        add.w   r5,[r6+] +        add.b   [r1+],r4h +        add.w   [r6+],r5 +        add.b   200h,r2l +        add.w   123h,r6 +        add.b   r2l,200h +        add.w   r6,123h +        add.b   r5h,#34h +        add.w   r3,#1234h +        add.b   [r5],#34h +        add.w   [r3],#1234h +        add.b   [r5+],#34h +        add.w   [r3+],#1234h +        add.b   [r5+2],#34h +        add.w   [r3+100],#1234h +        add.b   [r5+200],#34h +        add.w   [r3+1000],#1234h +        add.b   200h,#34h +        add.w   123h,#1234h + +        addc.b  r4h,r1l +        addc.w  r5,r3 +        addc.b  r5l,[r6] +        addc.w  r4,[sp] +        addc.b  [r6],r5l +        addc.w  [sp],r4 +        addc.b  r3h,[r6+2] +        addc.w  r4,[r3+100] +        addc.b  [r6+2],r3h +        addc.w  [r3+100],r4 +        addc.b  r3h,[r6+200] +        addc.w  r4,[r3+1000] +        addc.b  [r6+200],r3h +        addc.w  [r3+1000],r4 +        addc.b  r4h,[r1+] +        addc.w  r5,[r6+] +        addc.b  [r1+],r4h +        addc.w  [r6+],r5 +        addc.b  200h,r2l +        addc.w  123h,r6 +        addc.b  r2l,200h +        addc.w  r6,123h +        addc.b  r5h,#34h +        addc.w  r3,#1234h +        addc.b  [r5],#34h +        addc.w  [r3],#1234h +        addc.b  [r5+],#34h +        addc.w  [r3+],#1234h +        addc.b  [r5+2],#34h +        addc.w  [r3+100],#1234h +        addc.b  [r5+200],#34h +        addc.w  [r3+1000],#1234h +        addc.b  200h,#34h +        addc.w  123h,#1234h + +        adds.b  r5h,#3 +        adds.w  r6,#5 +        adds.b  [r4],#3 +        adds.w  [sp],#5 +        adds.b  [r4+],#3 +        adds.w  [sp+],#5 +        adds.b  [r4+20],#3 +        adds.w  [sp+20],#5 +        adds.b  [r4-200],#3 +        adds.w  [sp-200],#5 +        adds.b  200h,#3 +        adds.w  123h,#5 + +        and.b   r4h,r1l +        and.w   r5,r3 +        and.b   r5l,[r6] +        and.w   r4,[sp] +        and.b   [r6],r5l +        and.w   [sp],r4 +        and.b   r3h,[r6+2] +        and.w   r4,[r3+100] +        and.b   [r6+2],r3h +        and.w   [r3+100],r4 +        and.b   r3h,[r6+200] +        and.w   r4,[r3+1000] +        and.b   [r6+200],r3h +        and.w   [r3+1000],r4 +        and.b   r4h,[r1+] +        and.w   r5,[r6+] +        and.b   [r1+],r4h +        and.w   [r6+],r5 +        and.b   200h,r2l +        and.w   123h,r6 +        and.b   r2l,200h +        and.w   r6,123h +        and.b   r5h,#34h +        and.w   r3,#1234h +        and.b   [r5],#34h +        and.w   [r3],#1234h +        and.b   [r5+],#34h +        and.w   [r3+],#1234h +        and.b   [r5+2],#34h +        and.w   [r3+100],#1234h +        and.b   [r5+200],#34h +        and.w   [r3+1000],#1234h +        and.b   200h,#34h +        and.w   123h,#1234h + +	anl	c,regbit1 +        anl	c,/iobit1 +        anl	c,r5.12 +        anl	c,/r4h.1 + +        asl.b	r4h,r1l +        asl.w	r6,r3h +        asl.d	r2,r4l +        asl.b	r4h,#6 +        asl.w	r6,#12 +        asl.d	r2,#24 + +        asr.b	r4h,r1l +        asr.w	r6,r3h +        asr.d	r2,r4l +        asr.b	r4h,#6 +        asr.w	r6,#12 +        asr.d	r2,#24 + +	bcc	label1 +        nop +        bcc	label2 +        nop +        bcs	label1 +        beq	label1 +        bg	label1 +        bge	label1 +        bgt	label1 +        ble	label1 +        blt	label1 +        bmi	label1 +        bne	label1 +        bnv	label1 +        bov	label1 +        bpl	label1 +        br	label1 + +        call	label1 +        call	label1 +        call	[r4] + +        cjne	r5l,123h,label1 +        cjne	r6,456h,label1 +        cjne	r5l,#34h,label1 +        cjne	r6,#1234h,label1 +        cjne.b	[r6],#34h,label1 +	cjne.w	[r6],#1234h,label1 + +label1:	nop +label2:	nop + +	clr     regbit1 + +        cmp.b   r4h,r1l +        cmp.w   r5,r3 +        cmp.b   r5l,[r6] +        cmp.w   r4,[sp] +        cmp.b   [r6],r5l +        cmp.w   [sp],r4 +        cmp.b   r3h,[r6+2] +        cmp.w   r4,[r3+100] +        cmp.b   [r6+2],r3h +        cmp.w   [r3+100],r4 +        cmp.b   r3h,[r6+200] +        cmp.w   r4,[r3+1000] +        cmp.b   [r6+200],r3h +        cmp.w   [r3+1000],r4 +        cmp.b   r4h,[r1+] +        cmp.w   r5,[r6+] +        cmp.b   [r1+],r4h +        cmp.w   [r6+],r5 +        cmp.b   200h,r2l +        cmp.w   123h,r6 +        cmp.b   r2l,200h +        cmp.w   r6,123h +        cmp.b   r5h,#34h +        cmp.w   r3,#1234h +        cmp.b   [r5],#34h +        cmp.w   [r3],#1234h +        cmp.b   [r5+],#34h +        cmp.w   [r3+],#1234h +        cmp.b   [r5+2],#34h +        cmp.w   [r3+100],#1234h +        cmp.b   [r5+200],#34h +        cmp.w   [r3+1000],#1234h +        cmp.b   200h,#34h +        cmp.w   123h,#1234h + +	cpl	r4l +        cpl	sp + +        da	r4l + +        div.w	r4,r1h +        div.w	r5,#23 +        div.d	r2,r5 +        div.d	r6,#1234h + +        divu.b	r4l,r5l +        divu.b	r4l,#23 +        divu.w	r4,r1h +        divu.w	r5,#23 +        divu.d	r2,r5 +        divu.d	r6,#1234h + +d1:     djnz	r5l,d1 +d2:     djnz.b	123h,d2 +d3:     djnz	r5,d3 +d4:     djnz.w	123h,d4 + +	fcall	123456h + +        fjmp	123456h + +        jb	regbit1,d1 +        jbc	regbit1,d2 + +        jmp	1234h +        jmp	[r3] +        jmp	[a+dptr] +        jmp	[[r5+]] + +        jnb	regbit1,d3 + +        jnz	d3 + +        jz	d3 + +        lea	r5,r4+4 +        lea	r6,r1+1000 + +        lsr.b	r4h,r1l +        lsr.w	r6,r3h +        lsr.d	r2,r4l +        lsr.b	r4h,#6 +        lsr.w	r6,#12 +        lsr.d	r2,#24 + +	mov	c,regbit1 +        mov	regbit1,c +        mov	usp,r4 +        mov	sp,usp +        mov.b   r4h,r1l +        mov.w   r5,r3 +        mov.b   r5l,[r6] +        mov.w   r4,[sp] +        mov.b   [r6],r5l +        mov.w   [sp],r4 +        mov.b   r3h,[r6+2] +        mov.w   r4,[r3+100] +        mov.b   [r6+2],r3h +        mov.w   [r3+100],r4 +        mov.b   r3h,[r6+200] +        mov.w   r4,[r3+1000] +        mov.b   [r6+200],r3h +        mov.w   [r3+1000],r4 +        mov.b   r4h,[r1+] +        mov.w   r5,[r6+] +        mov.b   [r1+],r4h +        mov.w   [r6+],r5 +        mov.b	[r3+],[r4+] +        mov.w	[r3+],[r4+] +        mov.b   200h,r2l +        mov.w   123h,r6 +        mov.b   r2l,200h +        mov.w   r6,123h +        mov.b	123h,[r5] +        mov.w	456h,[sp] +        mov.b	[r5],123h +        mov.w	[sp],456h +        mov.b   r5h,#34h +        mov.w   r3,#1234h +        mov.b   [r5],#34h +        mov.w   [r3],#1234h +        mov.b   [r5+],#34h +        mov.w   [r3+],#1234h +        mov.b   [r5+2],#34h +        mov.w   [r3+100],#1234h +        mov.b   [r5+200],#34h +        mov.w   [r3+1000],#1234h +        mov.b   200h,#34h +        mov.w   123h,#1234h +	mov.b	123h,200h +	mov.w	123h,200h + +        movc	r4l,[r5+] +        movc	r4,[r5+] +        movc	a,[a+dptr] +        movc	a,[a+pc] + +        movs.b  r5h,#3 +        movs.w  r6,#5 +        movs.b  [r4],#3 +        movs.w  [sp],#5 +        movs.b  [r4+],#3 +        movs.w  [sp+],#5 +        movs.b  [r4+20],#3 +        movs.w  [sp+20],#5 +        movs.b  [r4-200],#3 +        movs.w  [sp-200],#5 +        movs.b  200h,#3 +        movs.w  123h,#5 + +        movx    r3l,[r6] +        movx    r3,[sp] +        movx    [r6],r3l +        movx    [sp],r3 + +        mul     r0,r5 +        mul     r6,#1234h + +        mulu    r3l,r4h +        mulu    r5l,#100 +        mulu    r0,r5 +        mulu    r6,#1234h + +        neg     r4l +        neg     sp + +        nop + +        norm.b  r4h,r1l +        norm.w  r6,r3h +        norm.d  r2,r4l + +        or.b    r4h,r1l +        or.w    r5,r3 +        or.b    r5l,[r6] +        or.w    r4,[sp] +        or.b    [r6],r5l +        or.w    [sp],r4 +        or.b    r3h,[r6+2] +        or.w    r4,[r3+100] +        or.b    [r6+2],r3h +        or.w    [r3+100],r4 +        or.b    r3h,[r6+200] +        or.w    r4,[r3+1000] +        or.b    [r6+200],r3h +        or.w    [r3+1000],r4 +        or.b    r4h,[r1+] +        or.w    r5,[r6+] +        or.b    [r1+],r4h +        or.w    [r6+],r5 +        or.b    200h,r2l +        or.w    123h,r6 +        or.b    r2l,200h +        or.w    r6,123h +        or.b    r5h,#34h +        or.w    r3,#1234h +        or.b    [r5],#34h +        or.w    [r3],#1234h +        or.b    [r5+],#34h +        or.w    [r3+],#1234h +        or.b    [r5+2],#34h +        or.w    [r3+100],#1234h +        or.b    [r5+200],#34h +        or.w    [r3+1000],#1234h +        or.b    200h,#34h +        or.w    123h,#1234h + +        orl     c,regbit1 +        orl     c,/iobit1 +        orl     c,r5.12 +        orl     c,/r4h.1 + +        pop.b   123h +        pop.w   200h +        pop     r2l +        pop     r2l,r3l +        pop     r4h +        pop     r4h,r5h +        pop     r2l,r3l,r4h,r5h +        pop     r1 +        pop     r2,r5;,sp + +        popu.b  123h +        popu.w  200h +        popu    r2l +        popu    r2l,r3l +        popu    r4h +        popu    r4h,r5h +        popu    r2l,r3l,r4h,r5h +        popu    r1 +        popu    r2,r5,sp + +        push.b  123h +        push.w  200h +        push    r2l +        push    r2l,r3l +        push    r4h +        push    r4h,r5h +        push    r2l,r3l,r4h,r5h +        push    r1 +        push    r2,r5,sp + +        pushu.b 123h +        pushu.w 200h +        pushu   r2l +        pushu   r2l,r3l +        pushu   r4h +        pushu   r4h,r5h +        pushu   r2l,r3l,r4h,r5h +        pushu   r1 +        pushu   r2,r5,sp + +        reset + +        ret + +        reti + +        rl      r3h,#3 +        rl      r5,#12 + +        rlc     r3h,#3 +        rlc     r5,#12 + +        rr      r3h,#3 +        rr      r5,#12 + +        rrc     r3h,#3 +        rrc     r5,#12 + +        setb    regbit1 + +        sext    r1l +        sext    r2 + +        sub.b   r4h,r1l +        sub.w   r5,r3 +        sub.b   r5l,[r6] +        sub.w   r4,[sp] +        sub.b   [r6],r5l +        sub.w   [sp],r4 +        sub.b   r3h,[r6+2] +        sub.w   r4,[r3+100] +        sub.b   [r6+2],r3h +        sub.w   [r3+100],r4 +        sub.b   r3h,[r6+200] +        sub.w   r4,[r3+1000] +        sub.b   [r6+200],r3h +        sub.w   [r3+1000],r4 +        sub.b   r4h,[r1+] +        sub.w   r5,[r6+] +        sub.b   [r1+],r4h +        sub.w   [r6+],r5 +        sub.b   200h,r2l +        sub.w   123h,r6 +        sub.b   r2l,200h +        sub.w   r6,123h +        sub.b   r5h,#34h +        sub.w   r3,#1234h +        sub.b   [r5],#34h +        sub.w   [r3],#1234h +        sub.b   [r5+],#34h +        sub.w   [r3+],#1234h +        sub.b   [r5+2],#34h +        sub.w   [r3+100],#1234h +        sub.b   [r5+200],#34h +        sub.w   [r3+1000],#1234h +        sub.b   200h,#34h +        sub.w   123h,#1234h + +        subb.b  r4h,r1l +        subb.w  r5,r3 +        subb.b  r5l,[r6] +        subb.w  r4,[sp] +        subb.b  [r6],r5l +        subb.w  [sp],r4 +        subb.b  r3h,[r6+2] +        subb.w  r4,[r3+100] +        subb.b  [r6+2],r3h +        subb.w  [r3+100],r4 +        subb.b  r3h,[r6+200] +        subb.w  r4,[r3+1000] +        subb.b  [r6+200],r3h +        subb.w  [r3+1000],r4 +        subb.b  r4h,[r1+] +        subb.w  r5,[r6+] +        subb.b  [r1+],r4h +        subb.w  [r6+],r5 +        subb.b  200h,r2l +        subb.w  123h,r6 +        subb.b  r2l,200h +        subb.w  r6,123h +        subb.b  r5h,#34h +        subb.w  r3,#1234h +        subb.b  [r5],#34h +        subb.w  [r3],#1234h +        subb.b  [r5+],#34h +        subb.w  [r3+],#1234h +        subb.b  [r5+2],#34h +        subb.w  [r3+100],#1234h +        subb.b  [r5+200],#34h +        subb.w  [r3+1000],#1234h +        subb.b  200h,#34h +        subb.w  123h,#1234h + +        trap    #5 + +        xch     r3h,r5l +        xch     r5l,r3h +        xch     r3,r5 +        xch     r5,r3 +        xch     r3h,[r5] +        xch     [r5],r3h +        xch     r3,[r5] +        xch     [r5],r3 +        xch     r3h,123h +        xch     123h,r3h +        xch     r3,200h +        xch     200h,r3 + +        xor.b   r4h,r1l +        xor.w   r5,r3 +        xor.b   r5l,[r6] +        xor.w   r4,[sp] +        xor.b   [r6],r5l +        xor.w   [sp],r4 +        xor.b   r3h,[r6+2] +        xor.w   r4,[r3+100] +        xor.b   [r6+2],r3h +        xor.w   [r3+100],r4 +        xor.b   r3h,[r6+200] +        xor.w   r4,[r3+1000] +        xor.b   [r6+200],r3h +        xor.w   [r3+1000],r4 +        xor.b   r4h,[r1+] +        xor.w   r5,[r6+] +        xor.b   [r1+],r4h +        xor.w   [r6+],r5 +        xor.b   200h,r2l +        xor.w   123h,r6 +        xor.b   r2l,200h +        xor.w   r6,123h +        xor.b   r5h,#34h +        xor.w   r3,#1234h +        xor.b   [r5],#34h +        xor.w   [r3],#1234h +        xor.b   [r5+],#34h +        xor.w   [r3+],#1234h +        xor.b   [r5+2],#34h +        xor.w   [r3+100],#1234h +        xor.b   [r5+200],#34h +        xor.w   [r3+1000],#1234h +        xor.b   200h,#34h +        xor.w   123h,#1234h + +        mov.b   [r5+],[r5+] +        xch     r4l,r4l +        pop     r7 +        norm.b  r4l,r4l +        norm.w  r4,r4h +        norm.d  r4,r5l +        mov     [r4+],r4l +        mov     r4h,[r4+] +        movc    r4h,[r4+] +        add     [r4+],r4l +        add     r4h,[r4+] +        mov     r5,[r5+] + diff --git a/tests/t_xa/t_xa.doc b/tests/t_xa/t_xa.doc new file mode 100644 index 0000000..3a7edf8 --- /dev/null +++ b/tests/t_xa/t_xa.doc @@ -0,0 +1,5 @@ ++--------------------------- Test Application XA ----------------------------+ +|                                                                            | +|      This is a (synthetic) test of the Philips XA instruction set          | +|                                                                            | ++----------------------------------------------------------------------------+ diff --git a/tests/t_xa/t_xa.ori b/tests/t_xa/t_xa.oriBinary files differ new file mode 100644 index 0000000..edfa696 --- /dev/null +++ b/tests/t_xa/t_xa.ori | 
