home *** CD-ROM | disk | FTP | other *** search
- "TASM TMS32010 Assembler."
- /* This is the instruction set definition table
- /* for the TMS32010 version of TASM.
- /* Thomas N. Anderson, Speech Technology Incorporated
- /*
- /* See TASM manual for info on table structure.
- /*
- /*INSTR ARGS OPCODE BYTES MOD CLASS SHIFT MASK */
- /*-------------------------------------------*/
-
- /* Generate opcodes high byte first */
- .MSFIRST
- /* Don't use '*' as the wild card since it is used for indirect addressing */
- /* In this table '@' is the wild card indicating where expression may appear*/
- .ALTWILD
- /* Use word addressing (not byte addressing)
- .WORDADDRS
- /* All shift/and stuff applies to opcodes, not args
- .NOARGSHIFT
-
- .REGSET *+ A0 1
- .REGSET *- 90 1
- .REGSET * 80 1
-
- ABS "" 7F88 2 NOP 1
-
- ADD !,@,@ 0000 2 T1 1 8 0F00
- ADD !,@ 0008 2 T1 1 8 0F00
- ADD ! 0008 2 NOP 1
- ADD @,@ 0000 2 TDMA 1 8 0F00
- ADD @ 0000 2 T1 1 0 007F
-
- ADDH !,@ 6000 2 T1 1 0 01
- ADDH ! 6008 2 NOP 1
- ADDH @ 6000 2 T1 1 0 007F
-
- ADDS !,@ 6100 2 T1 1 0 01
- ADDS ! 6108 2 NOP 1
- ADDS @ 6100 2 T1 1 0 007F
-
- AND !,@ 7900 2 T1 1 0 01
- AND ! 7908 2 NOP 1
- AND @ 7900 2 T1 1 0 7F
-
- APAC "" 7F8F 2 NOP 1
- B @ F900 4 SWAP 1
- BANZ @ F400 4 SWAP 1
- BGEZ @ FD00 4 SWAP 1
- BGZ @ FC00 4 SWAP 1
- BIOZ @ F600 4 SWAP 1
- BLEZ @ FB00 4 SWAP 1
- BLZ @ FA00 4 SWAP 1
- BNZ @ FE00 4 SWAP 1
- BV @ F500 4 SWAP 1
- BZ @ FF00 4 SWAP 1
- CALA "" 7F8C 2 NOP 1
- CALL @ F800 4 SWAP 1
- DINT "" 7F81 2 NOP 1
-
- DMOV !,@ 6900 2 T1 1 0 01
- DMOV ! 6908 2 NOP 1
- DMOV @ 6900 2 T1 1 0 007F
-
- EINT "" 7F82 2 NOP 1
-
- IN !,@,@ 4000 2 T1 1 8 0700
- IN !,@ 4008 2 T1 1 8 0700
- IN @,@ 4000 2 TDMA 1 8 0700
-
- LAC !,@,@ 2000 2 T1 1 8 0F00
- LAC !,@ 2008 2 T1 1 8 0F00
- LAC ! 2008 2 NOP 1
- LAC @,@ 2000 2 TDMA 1 8 0F00
- LAC @ 2000 2 T1 1 0 007F
-
- LACK @ 7E00 2 T1 1 0 00FF
-
- LAR @,!,@ 3800 2 TAR 1 0 0001
- LAR @,! 3808 2 TAR 1 0 0001
- LAR @,@ 3800 2 TAR 1 0 007F
-
- LARK @,@ 7000 2 TAR 1 0 00FF
- LARP @ 6880 2 T1 1 0 0001
-
- LDP !,@ 6F00 2 T1 1 0 01
- LDP ! 6F08 2 NOP 1
- LDP @ 6F00 2 T1 1 0 007F
-
- LDPK @ 6E00 2 T1 1 0 01
-
- LST !,@ 7B00 2 T1 1 0 01
- LST ! 7B08 2 NOP 1
- LST @ 7B00 2 T1 1 0 007F
-
- LT !,@ 6A00 2 T1 1 0 01
- LT ! 6A08 2 NOP 1
- LT @ 6A00 2 T1 1 0 007F
-
- LTA !,@ 6C00 2 T1 1 0 01
- LTA ! 6C08 2 NOP 1
- LTA @ 6C00 2 T1 1 0 007F
-
- LTD !,@ 6B00 2 T1 1 0 01
- LTD ! 6B08 2 NOP 1
- LTD @ 6B00 2 T1 1 0 007F
-
- MAR !,@ 6800 2 T1 1 0 01
- MAR ! 6808 2 NOP 1
- MAR @ 6800 2 T1 1 0 007F
-
- MPY !,@ 6D00 2 T1 1 0 01
- MPY ! 6D08 2 NOP 1
- MPY @ 6D00 2 T1 1 0 007F
-
- MPYK @ 8000 2 T1 1 0 1FFF
-
- NOP "" 7F80 2 NOP 1
-
- OR !,@ 7A00 2 T1 1 0 01
- OR ! 7A08 2 NOP 1
- OR @ 7A00 2 T1 1 0 007F
-
- OUT !,@,@ 4800 2 T1 1 8 0700
- OUT !,@ 4808 2 T1 1 8 0700
- OUT @,@ 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
-
- /* shift count for SACH can only be 0,1, or 4. The mask allows */
- /* 0,1,4, or 5. Let the user beware */
- SACH !,@,@ 5800 2 T1 1 8 0500
- SACH !,@ 5808 2 T1 1 8 0500
- SACH ! 5808 2 NOP 1
- SACH @,@ 5800 2 TDMA 1 8 0500
- SACH @ 5800 2 T1 1 0 007F
-
- /* The data book shows a shift field for SACL but states it must be 0.
- /* The previous version of this table left the shift field out
- /* for simplicity, but here I have put it back for compatibility.
- /* The AND mask is set to zero in this case so a error message
- /* will result from non-zero shifts.
- SACL !,@,@ 5000 2 T1 1 8 0000
- SACL !,@ 5008 2 T1 1 8 0000
- SACL ! 5008 2 NOP 1
- SACL @,@ 5000 2 TDMA 1 8 0000
- SACL @ 5000 2 T1 1 0 007F
-
- SAR @,!,@ 3000 2 TAR 1 0 0001
- SAR @,! 3008 2 TAR 1 0 0001
- SAR @,@ 3000 2 TAR 1 0 007F
-
- SOVM "" 7F8B 2 NOP 1
- SPAC "" 7F90 2 NOP 1
-
- SST !,@ 7C00 2 T1 1 0 0001
- SST ! 7C08 2 NOP 1
- SST @ 7C00 2 T1 1 0 007F
-
- SUB !,@,@ 1000 2 T1 1 8 0F00
- SUB !,@ 1008 2 T1 1 8 0F00
- SUB ! 1008 2 NOP 1
- SUB @,@ 1000 2 TDMA 1 8 0F00
- SUB @ 1000 2 T1 1 0 007F
-
- SUBC !,@ 6400 2 T1 1 0 01
- SUBC ! 6408 2 NOP 1
- SUBC @ 6400 2 T1 1 0 007F
-
- SUBH !,@ 6200 2 T1 1 0 01
- SUBH ! 6208 2 NOP 1
- SUBH @ 6200 2 T1 1 0 007F
-
- SUBS !,@ 6300 2 T1 1 0 01
- SUBS ! 6308 2 NOP 1
- SUBS @ 6300 2 T1 1 0 007F
-
- TBLR !,@ 6700 2 T1 1 0 01
- TBLR ! 6708 2 NOP 1
- TBLR @ 6700 2 T1 1 0 007F
-
- TBLW !,@ 7D00 2 T1 1 0 01
- TBLW ! 7D08 2 NOP 1
- TBLW @ 7D00 2 T1 1 0 007F
-
- XOR !,@ 7800 2 T1 1 0 01
- XOR ! 7808 2 NOP 1
- XOR @ 7800 2 T1 1 0 007F
-
- ZAC "" 7F89 2 NOP 1
-
- ZALH !,@ 6500 2 T1 1 0 01
- ZALH ! 6508 2 NOP 1
- ZALH @ 6500 2 T1 1 0 007F
-
- ZALS !,@ 6600 2 T1 1 0 01
- ZALS ! 6608 2 NOP 1
- ZALS @ 6600 2 T1 1 0 007F
-
-