forked from MirrorRepos/RomWBW
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
328 lines
13 KiB
328 lines
13 KiB
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; $Id: test3210.asm 1.1 1993/08/02 01:24:21 toma Exp $
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; TASM test file
|
|
; Test all instructions and addressing modes.
|
|
; Processor: TMS32010
|
|
;
|
|
|
|
|
|
.org 100h
|
|
shift .equ 4
|
|
shift0 .equ 0
|
|
addr .equ 12h
|
|
port .equ 2
|
|
arp .equ 1
|
|
ar .equ 1
|
|
const .equ 34h
|
|
const1 .equ 1h
|
|
|
|
ABS ;7F88 2 NOP 1
|
|
|
|
ADD *+,shift,arp ;00A0 2 T1 1 8 0F00
|
|
ADD *-,shift,arp ;0090 2 T1 1 8 0F00
|
|
ADD *,shift,arp ;0080 2 T1 1 8 0F00
|
|
ADD *+,shift ;00A8 2 T1 1 8 0F00
|
|
ADD *-,shift ;0098 2 T1 1 8 0F00
|
|
ADD *,shift ;0088 2 T1 1 8 0F00
|
|
ADD *+ ;00A8 2 NOP 1
|
|
ADD *- ;0098 2 NOP 1
|
|
ADD * ;0088 2 NOP 1
|
|
ADD addr,shift ;0000 2 TDMA 1 8 0F00
|
|
ADD addr ;0000 2 T1 1 0 007F
|
|
|
|
ADDH *+,arp ;60A0 2 T1 1 0 01
|
|
ADDH *-,arp ;6090 2 T1 1 0 01
|
|
ADDH *,arp ;6080 2 T1 1 0 01
|
|
ADDH *+ ;60A8 2 NOP 1
|
|
ADDH *- ;6098 2 NOP 1
|
|
ADDH * ;6088 2 NOP 1
|
|
ADDH addr ;6000 2 T1 1 0 007F
|
|
|
|
ADDS *+,arp ;61A0 2 T1 1 0 01
|
|
ADDS *-,arp ;6190 2 T1 1 0 01
|
|
ADDS *,arp ;6180 2 T1 1 0 01
|
|
ADDS *+ ;61A8 2 NOP 1
|
|
ADDS *- ;6198 2 NOP 1
|
|
ADDS * ;6188 2 NOP 1
|
|
ADDS addr ;6100 2 T1 1 0 007F
|
|
|
|
AND *+,arp ;79A0 2 T1 1 0 01
|
|
AND *-,arp ;7990 2 T1 1 0 01
|
|
AND *,arp ;7980 2 T1 1 0 01
|
|
AND *+ ;79A8 2 NOP 1
|
|
AND *- ;7998 2 NOP 1
|
|
AND * ;7988 2 NOP 1
|
|
AND addr ;7900 2 T1 1 0 7F
|
|
|
|
APAC ;7F8F 2 NOP 1
|
|
|
|
loop1:
|
|
B loop1 ;F900 4 SWAP 1
|
|
BANZ loop1 ;F400 4 SWAP 1
|
|
BGEZ loop1 ;FD00 4 SWAP 1
|
|
BGZ loop1 ;FC00 4 SWAP 1
|
|
BIOZ loop1 ;F600 4 SWAP 1
|
|
BLEZ loop1 ;FB00 4 SWAP 1
|
|
BLZ loop1 ;FA00 4 SWAP 1
|
|
BNZ loop1 ;FE00 4 SWAP 1
|
|
BV loop1 ;F500 4 SWAP 1
|
|
BZ loop1 ;FF00 4 SWAP 1
|
|
|
|
CALA ;7F8C 2 NOP 1
|
|
CALL loop1 ;F800 4 SWAP 1
|
|
DINT ;7F81 2 NOP 1
|
|
|
|
DMOV *+,arp ;69A0 2 T1 1 0 01
|
|
DMOV *-,arp ;6990 2 T1 1 0 01
|
|
DMOV *,arp ;6980 2 T1 1 0 01
|
|
DMOV *+ ;69A8 2 NOP 1
|
|
DMOV *- ;6998 2 NOP 1
|
|
DMOV * ;6988 2 NOP 1
|
|
DMOV addr ;6900 2 T1 1 0 007F
|
|
|
|
EINT ;7F82 2 NOP 1
|
|
|
|
IN *+,port ,arp ;40A0 2 T1 1 8 0700
|
|
IN *-,port ,arp ;4090 2 T1 1 8 0700
|
|
IN * ,port ,arp ;4080 2 T1 1 8 0700
|
|
IN *+,port ;40A8 2 T1 1 8 0700
|
|
IN *-,port ;4098 2 T1 1 8 0700
|
|
IN * ,port ;4088 2 T1 1 8 0700
|
|
IN addr,port ;4000 2 TDMA 1 8 0700
|
|
|
|
LAC *+,shift,arp ;20A0 2 T1 1 8 0F00
|
|
LAC *-,shift,arp ;2090 2 T1 1 8 0F00
|
|
LAC *,shift,arp ;2080 2 T1 1 8 0F00
|
|
LAC *+,shift ;20A8 2 T1 1 8 0F00
|
|
LAC *-,shift ;2098 2 T1 1 8 0F00
|
|
LAC *,shift ;2088 2 T1 1 8 0F00
|
|
LAC *+ ;20A8 2 NOP 1
|
|
LAC *- ;2098 2 NOP 1
|
|
LAC * ;2088 2 NOP 1
|
|
LAC addr,shift ;2000 2 TDMA 1 8 0F00
|
|
LAC addr ;2000 2 T1 1 0 007F
|
|
|
|
LACK const ;7E00 2 T1 1 0 00FF
|
|
|
|
LAR ar,*+,arp ;38A0 2 TAR 1 0 0001
|
|
LAR ar,*-,arp ;3890 2 TAR 1 0 0001
|
|
LAR ar,*,arp ;3880 2 TAR 1 0 0001
|
|
LAR ar,*+ ;38A8 2 TAR 1 0 0001
|
|
LAR ar,*- ;3898 2 TAR 1 0 0001
|
|
LAR ar,* ;3888 2 TAR 1 0 0001
|
|
LAR ar, addr ;3800 2 TAR 1 0 007F
|
|
|
|
LARK ar,const ;7000 2 TAR 1 0 00FF
|
|
LARP const1 ;6880 2 T1 1 0 0001
|
|
|
|
LDP *+,arp ;6FA0 2 T1 1 0 01
|
|
LDP *-,arp ;6F90 2 T1 1 0 01
|
|
LDP *,arp ;6F80 2 T1 1 0 01
|
|
LDP *+ ;6FA8 2 NOP 1
|
|
LDP *- ;6F98 2 NOP 1
|
|
LDP * ;6F88 2 NOP 1
|
|
LDP addr ;6F00 2 T1 1 0 007F
|
|
|
|
LDPK const1 ;6E00 2 T1 1 0 01
|
|
|
|
LST *+,arp ;7BA0 2 T1 1 0 01
|
|
LST *-,arp ;7B90 2 T1 1 0 01
|
|
LST *,arp ;7B80 2 T1 1 0 01
|
|
LST *+ ;7BA8 2 NOP 1
|
|
LST *- ;7B98 2 NOP 1
|
|
LST * ;7B88 2 NOP 1
|
|
LST addr ;7B00 2 T1 1 0 007F
|
|
|
|
LT *+,arp ;6AA0 2 T1 1 0 01
|
|
LT *-,arp ;6A90 2 T1 1 0 01
|
|
LT *,arp ;6A80 2 T1 1 0 01
|
|
LT *+ ;6AA8 2 NOP 1
|
|
LT *- ;6A98 2 NOP 1
|
|
LT * ;6A88 2 NOP 1
|
|
LT addr ;6A00 2 T1 1 0 007F
|
|
|
|
LTA *+,arp ;6CA0 2 T1 1 0 01
|
|
LTA *-,arp ;6C90 2 T1 1 0 01
|
|
LTA *,arp ;6C80 2 T1 1 0 01
|
|
LTA *+ ;6CA8 2 NOP 1
|
|
LTA *- ;6C98 2 NOP 1
|
|
LTA * ;6C88 2 NOP 1
|
|
LTA addr ;6C00 2 T1 1 0 007F
|
|
|
|
LTD *+,arp ;6BA0 2 T1 1 0 01
|
|
LTD *-,arp ;6B90 2 T1 1 0 01
|
|
LTD *,arp ;6B80 2 T1 1 0 01
|
|
LTD *+ ;6BA8 2 NOP 1
|
|
LTD *- ;6B98 2 NOP 1
|
|
LTD * ;6B88 2 NOP 1
|
|
LTD addr ;6B00 2 T1 1 0 007F
|
|
|
|
MAR *+,arp ;68A0 2 T1 1 0 01
|
|
MAR *-,arp ;6890 2 T1 1 0 01
|
|
MAR *,arp ;6880 2 T1 1 0 01
|
|
MAR *+ ;68A8 2 NOP 1
|
|
MAR *- ;6898 2 NOP 1
|
|
MAR * ;6888 2 NOP 1
|
|
MAR addr ;6800 2 T1 1 0 007F
|
|
|
|
MPY *+,arp ;6DA0 2 T1 1 0 01
|
|
MPY *-,arp ;6D90 2 T1 1 0 01
|
|
MPY *,arp ;6D80 2 T1 1 0 01
|
|
MPY *+ ;6DA8 2 NOP 1
|
|
MPY *- ;6D98 2 NOP 1
|
|
MPY * ;6D88 2 NOP 1
|
|
MPY addr ;6D00 2 T1 1 0 007F
|
|
|
|
MPYK const ;8000 2 T1 1 0 1FFF
|
|
|
|
NOP ;7F80 2 NOP 1
|
|
|
|
OR *+,arp ;7AA0 2 T1 1 0 01
|
|
OR *-,arp ;7A90 2 T1 1 0 01
|
|
OR *,arp ;7A80 2 T1 1 0 01
|
|
OR *+ ;7AA8 2 NOP 1
|
|
OR *- ;7A98 2 NOP 1
|
|
OR * ;7A88 2 NOP 1
|
|
OR addr ;7A00 2 T1 1 0 007F
|
|
|
|
OUT *+,port,arp ;48A0 2 T1 1 8 0700
|
|
OUT *-,port,arp ;4890 2 T1 1 8 0700
|
|
OUT *, port,arp ;4880 2 T1 1 8 0700
|
|
OUT *+,port ;48A8 2 T1 1 8 0700
|
|
OUT *-,port ;4898 2 T1 1 8 0700
|
|
OUT *, port ;4888 2 T1 1 8 0700
|
|
OUT addr,port ;4800 2 TDMA 1 8 0700
|
|
|
|
PAC ;7F8E 2 NOP 1
|
|
POP ;7F9D 2 NOP 1
|
|
PUSH ;7F9C 2 NOP 1
|
|
RET ;7F8D 2 NOP 1
|
|
ROVM ;7F8A 2 NOP 1
|
|
|
|
;Note that shift count can only be 0,1, or 4.
|
|
;Mask also allows 5. Beware.
|
|
SACH *+,shift,arp ;58A0 2 T1 1 8 0500
|
|
SACH *-,shift,arp ;5890 2 T1 1 8 0500
|
|
SACH *, shift,arp ;5880 2 T1 1 8 0500
|
|
SACH *+,shift ;58A8 2 T1 1 8 0500
|
|
SACH *-,shift ;5898 2 T1 1 8 0500
|
|
SACH *, shift ;5888 2 T1 1 8 0500
|
|
SACH *+ ;58A8 2 NOP 1
|
|
SACH *- ;5898 2 NOP 1
|
|
SACH * ;5888 2 NOP 1
|
|
SACH addr,shift ;5800 2 TDMA 1 8 0500
|
|
SACH addr ;5800 2 T1 1 0 007F
|
|
|
|
; Shift count must be zero for SACL
|
|
SACL *+,shift0,arp ;50A0 2 T1 1 8 0000
|
|
SACL *-,shift0,arp ;5090 2 T1 1 8 0000
|
|
SACL *, shift0,arp ;5080 2 T1 1 8 0000
|
|
SACL *+,shift0 ;50A8 2 T1 1 8 0000
|
|
SACL *-,shift0 ;5098 2 T1 1 8 0000
|
|
SACL *, shift0 ;5088 2 T1 1 8 0000
|
|
SACL *+ ;50A8 2 NOP 1
|
|
SACL *- ;5098 2 NOP 1
|
|
SACL * ;5088 2 NOP 1
|
|
SACL addr,shift0 ;5000 2 TDMA 1 8 0000
|
|
SACL addr ;5000 2 T1 1 0 007F
|
|
|
|
SAR ar,*+,arp ;30A0 2 TAR 1 0 0001
|
|
SAR ar,*-,arp ;3090 2 TAR 1 0 0001
|
|
SAR ar,*,arp ;3080 2 TAR 1 0 0001
|
|
SAR ar,*+ ;30A8 2 TAR 1 0 0001
|
|
SAR ar,*- ;3098 2 TAR 1 0 0001
|
|
SAR ar,* ;3088 2 TAR 1 0 0001
|
|
SAR ar,addr ;3000 2 TAR 1 0 007F
|
|
|
|
SOVM ;7F8B 2 NOP 1
|
|
SPAC ;7F90 2 NOP 1
|
|
|
|
SST *+,arp ;7CA0 2 T1 1 0 0001
|
|
SST *-,arp ;7C90 2 T1 1 0 0001
|
|
SST *,arp ;7C80 2 T1 1 0 0001
|
|
SST *+ ;7CA8 2 NOP 1
|
|
SST *- ;7C98 2 NOP 1
|
|
SST * ;7C88 2 NOP 1
|
|
SST addr ;7C00 2 T1 1 0 007F
|
|
|
|
SUB *+,shift,arp ;10A0 2 T1 1 8 0F00
|
|
SUB *-,shift,arp ;1090 2 T1 1 8 0F00
|
|
SUB *, shift,arp ;1080 2 T1 1 8 0F00
|
|
SUB *+,shift ;10A8 2 T1 1 8 0F00
|
|
SUB *-,shift ;1098 2 T1 1 8 0F00
|
|
SUB *, shift ;1088 2 T1 1 8 0F00
|
|
SUB *+ ;10A8 2 NOP 1
|
|
SUB *- ;1098 2 NOP 1
|
|
SUB * ;1088 2 NOP 1
|
|
SUB addr,shift ;1000 2 TDMA 1 8 0F00
|
|
SUB addr ;1000 2 T1 1 0 007F
|
|
|
|
SUBC *+,arp ;64A0 2 T1 1 0 01
|
|
SUBC *-,arp ;6490 2 T1 1 0 01
|
|
SUBC *,arp ;6480 2 T1 1 0 01
|
|
SUBC *+ ;64A8 2 NOP 1
|
|
SUBC *- ;6498 2 NOP 1
|
|
SUBC * ;6488 2 NOP 1
|
|
SUBC addr ;6400 2 T1 1 0 007F
|
|
|
|
SUBH *+,arp ;62A0 2 T1 1 0 01
|
|
SUBH *-,arp ;6290 2 T1 1 0 01
|
|
SUBH *,arp ;6280 2 T1 1 0 01
|
|
SUBH *+ ;62A8 2 NOP 1
|
|
SUBH *- ;6298 2 NOP 1
|
|
SUBH * ;6288 2 NOP 1
|
|
SUBH addr ;6200 2 T1 1 0 007F
|
|
|
|
SUBS *+,arp ;63A0 2 T1 1 0 01
|
|
SUBS *-,arp ;6390 2 T1 1 0 01
|
|
SUBS *,arp ;6380 2 T1 1 0 01
|
|
SUBS *+ ;63A8 2 NOP 1
|
|
SUBS *- ;6398 2 NOP 1
|
|
SUBS * ;6388 2 NOP 1
|
|
SUBS addr ;6300 2 T1 1 0 007F
|
|
|
|
TBLR *+,arp ;67A0 2 T1 1 0 01
|
|
TBLR *-,arp ;6790 2 T1 1 0 01
|
|
TBLR *,arp ;6780 2 T1 1 0 01
|
|
TBLR *+ ;67A8 2 NOP 1
|
|
TBLR *- ;6798 2 NOP 1
|
|
TBLR * ;6788 2 NOP 1
|
|
TBLR addr ;6700 2 T1 1 0 007F
|
|
|
|
TBLW *+,arp ;7DA0 2 T1 1 0 01
|
|
TBLW *-,arp ;7D90 2 T1 1 0 01
|
|
TBLW *,arp ;7D80 2 T1 1 0 01
|
|
TBLW *+ ;7DA8 2 NOP 1
|
|
TBLW *- ;7D98 2 NOP 1
|
|
TBLW * ;7D88 2 NOP 1
|
|
TBLW addr ;7D00 2 T1 1 0 007F
|
|
|
|
XOR *+,arp ;78A0 2 T1 1 0 01
|
|
XOR *-,arp ;7890 2 T1 1 0 01
|
|
XOR *,arp ;7880 2 T1 1 0 01
|
|
XOR *+ ;78A8 2 NOP 1
|
|
XOR *- ;7898 2 NOP 1
|
|
XOR * ;7888 2 NOP 1
|
|
XOR addr ;7800 2 T1 1 0 007F
|
|
|
|
ZAC ;7F89 2 NOP 1
|
|
|
|
ZALH *+,arp ;65A0 2 T1 1 0 01
|
|
ZALH *-,arp ;6590 2 T1 1 0 01
|
|
ZALH *,arp ;6580 2 T1 1 0 01
|
|
ZALH *+ ;65A8 2 NOP 1
|
|
ZALH *- ;6598 2 NOP 1
|
|
ZALH * ;6588 2 NOP 1
|
|
ZALH addr ;6500 2 T1 1 0 007F
|
|
|
|
ZALS *+,arp ;66A0 2 T1 1 0 01
|
|
ZALS *-,arp ;6690 2 T1 1 0 01
|
|
ZALS *,arp ;6680 2 T1 1 0 01
|
|
ZALS *+ ;66A8 2 NOP 1
|
|
ZALS *- ;6698 2 NOP 1
|
|
ZALS * ;6688 2 NOP 1
|
|
ZALS addr ;6600 2 T1 1 0 007F
|
|
.end
|
|
|