"TASM TMS32025 Assembler." /**************************************************************************** /* $Id: tasm3225.tab 1.1 1993/07/31 01:12:40 toma Exp $ /**************************************************************************** /* This is the instruction set definition table /* for the TMS32025 version of TASM. /* Bob Stricklin /* /* 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 .WORDADDRS .NOARGSHIFT /* Addressing mode definitions. /* Value gets OR'd in to the opcode if the /* addressing mode is recognized /* Note: no special classes are defined, so if this /* table is used for TMS32020, invalid instructions /* will not result in errors (no BR0+/- addressing mode (for example) /* .REGSET *BR0+ F0 1 .REGSET *BR0- C0 1 .REGSET *0+ E0 1 .REGSET *0- D0 1 .REGSET *+ A0 1 .REGSET *- 90 1 .REGSET * 80 1 ABS "" CE1B 2 NOP 1 ADD !,@,@ 0088 2 T1 1 8 0F00 ADD !,@ 0080 2 T1 1 8 0F00 ADD ! 0080 2 NOP 1 ADD @,@ 0000 2 TDMA 1 8 0F00 ADD @ 0000 2 T1 1 0 007F ADDC !,@ 4388 2 T1 1 0 0007 ADDC ! 4380 2 NOP 1 ADDC @ 4300 2 T1 1 0 007F ADDH !,@ 4888 2 T1 1 0 0007 ADDH ! 4880 2 NOP 1 ADDH @ 4800 2 T1 1 0 007F ADDK @ CC00 2 T1 1 0 00FF ;8 bit constant ADDS !,@ 4988 2 T1 1 0 0007 ADDS ! 4980 2 NOP 1 ADDS @ 4900 2 T1 1 0 007F ADDT !,@ 4A88 2 T1 1 0 0007 ADDT ! 4A80 2 NOP 1 ADDT @ 4A00 2 T1 1 0 007F ADLK @,@ D002 4 TLK 1 8 0F00 ADLK @ D002 4 TLK 1 ADRK @ 7E00 2 T1 1 0 00FF ;8 bit constant AND !,@ 4E88 2 T1 1 0 0007 AND ! 4E80 2 NOP 1 AND @ 4E00 2 T1 1 0 007F ANDK @,@ D004 4 TLK 1 8 0F00 ANDK @ D004 4 TLK 1 APAC "" CE15 2 NOP 1 B @,!,@ FF88 4 TLK 1 0 07 B @,! FF80 4 SWAP 1 B @ FF80 4 SWAP 1 BACC "" CE25 2 NOP 1 BANZ @,!,@ FB88 4 TLK 1 0 07 BANZ @,! FB80 4 SWAP 1 BANZ @ FB80 4 SWAP 1 BBNZ @,!,@ F988 4 TLK 1 0 07 BBNZ @,! F980 4 SWAP 1 BBNZ @ F980 4 SWAP 1 BBZ @,!,@ F888 4 TLK 1 0 07 BBZ @,! F880 4 SWAP 1 BBZ @ F880 4 SWAP 1 BC @,!,@ 5E88 4 TLK 1 0 07 BC @,! 5E80 4 SWAP 1 BC @ 5E80 4 SWAP 1 BGEZ @,!,@ F488 4 TLK 1 0 07 BGEZ @,! F480 4 SWAP 1 BGEZ @ F480 4 SWAP 1 BGZ @,!,@ F188 4 TLK 1 0 07 BGZ @,! F180 4 SWAP 1 BGZ @ F180 4 SWAP 1 BIOZ @,!,@ FA88 4 TLK 1 0 07 BIOZ @,! FA80 4 SWAP 1 BIOZ @ FA80 4 SWAP 1 BIT !,@,@ 9088 2 T1 1 18 0F00 ;8 bit shift, 1=invert BIT !,@ 9080 2 T1 1 18 0F00 BIT @,@ 9000 2 TDMA 1 18 0F00 BITT !,@ 5788 2 T1 1 0 07 BITT ! 5780 2 T1 1 BITT @ 5700 2 T1 1 0 7F BLEZ @,!,@ F288 4 TLK 1 0 07 BLEZ @,! F280 4 SWAP 1 BLEZ @ F280 4 SWAP 1 BLKD @,!,@ FD88 4 TLK 1 0 07 BLKD @,! FD80 4 TLK 1 0 07 BLKD @,@ FD00 4 TLK 1 0 FF BLKP @,!,@ FC88 4 TLK 1 0 07 BLKP @,! FC80 4 TLK 1 0 07 BLKP @,@ FC00 4 TLK 1 0 FF BLZ @,!,@ F388 4 TLK 1 0 07 BLZ @,! F380 4 SWAP 1 BLZ @ F380 4 SWAP 1 BNC @,!,@ 5F88 4 TLK 1 0 07 BNC @,! 5F80 4 SWAP 1 BNC @ 5F80 4 SWAP 1 BNV @,!,@ F788 4 TLK 1 0 07 BNV @,! F780 4 SWAP 1 BNV @ F780 4 SWAP 1 BNZ @,!,@ F588 4 TLK 1 0 07 BNZ @,! F580 4 SWAP 1 BNZ @ F580 4 SWAP 1 BV @,!,@ F088 4 TLK 1 0 07 BV @,! F080 4 SWAP 1 BV @ F080 4 SWAP 1 BZ @,!,@ F688 4 TLK 1 0 07 BZ @,! F680 4 SWAP 1 BZ @ F680 4 SWAP 1 CALA "" CE24 2 NOP 1 CALL @,!,@ FE88 4 TLK 1 0 07 CALL @,! FE80 4 SWAP 1 CALL @ FE80 4 SWAP 1 CMPL "" CE27 2 NOP 1 CMPR @ CE50 2 T1 1 0 03 ;2 BIT CONTANT CNFD "" CE04 2 NOP 1 CNFP "" CE05 2 NOP 1 CONF "" CE3C 2 T1 4 0 03 ; c26 ONLY DINT "" CE01 2 NOP 1 DMOV !,@ 5688 2 T1 1 0 07 DMOV ! 5680 2 NOP 1 DMOV @ 5600 2 T1 1 0 007F EINT "" CE00 2 NOP 1 FORT @ CE0E 2 T1 1 0 01 IDLE "" CE1F 2 NOP 1 IN !,@,@ 8088 2 T1 1 8 0F00 IN !,@ 8080 2 T1 1 8 0F00 IN @,@ 8000 2 TDMA 1 8 0F00 LAC !,@,@ 2088 2 T1 1 8 0F00 LAC !,@ 2080 2 T1 1 8 0F00 LAC ! 2080 2 NOP 1 LAC @,@ 2000 2 TDMA 1 8 0F00 LAC @ 2000 2 T1 1 0 007F LACK @ CA00 2 T1 1 0 00FF ;tested for -25 LACT !,@ 4288 2 T1 1 0 07 LACT ! 4280 2 NOP 1 LACT @ 4200 2 T1 1 0 007F LALK @,@ D001 4 TLK 1 8 0F00 LALK @ D001 4 TLK 1 LAR @,!,@ 3088 2 TAR 1 0 07 LAR @,! 3080 2 TAR 1 0 07 LAR @,@ 3000 2 TAR 1 0 7F LARK @,@ C000 2 TAR 1 0 00FF LARP @ 5588 2 T1 1 0 0007 LDP !,@ 5288 2 T1 1 0 07 LDP ! 5280 2 NOP 1 LDP @ 5200 2 T1 1 0 007F LDPK @ C800 2 T1 1 0 01FF ;9 bit constant LPH !,@ 5388 2 T1 1 0 07 LPH ! 5380 2 NOP 1 LPH @ 5300 2 T1 1 0 7F LRLK @,@ D000 4 T5 1 8 0700 ;, LST !,@ 5088 2 T1 1 0 07 LST ! 5080 2 NOP 1 LST @ 5000 2 T1 1 0 7F LST1 !,@ 5188 2 T1 1 0 07 LST1 ! 5180 2 NOP 1 LST1 @ 5100 2 T1 1 0 7F LT !,@ 3C88 2 T1 1 0 07 LT ! 3C80 2 NOP 1 LT @ 3C00 2 T1 1 0 7F LTA !,@ 3D88 2 T1 1 0 07 LTA ! 3D80 2 NOP 1 LTA @ 3D00 2 T1 1 0 7F LTD !,@ 3F88 2 T1 1 0 07 LTD ! 3F80 2 NOP 1 LTD @ 3F00 2 T1 1 0 7F LTP !,@ 3E88 2 T1 1 0 07 LTP ! 3E80 2 NOP 1 LTP @ 3E00 2 T1 1 0 7F LTS !,@ 5B88 2 T1 1 0 07 LTS ! 5B80 2 NOP 1 LTS @ 5B00 2 T1 1 0 7F MAC @,!,@ 5D88 4 TLK 1 0 07 MAC @,! 5D80 4 TLK 1 0 07 MAC @,@ 5D00 4 TLK 1 0 7F MACD @,!,@ 5C88 4 TLK 1 0 07 MACD @,! 5C80 4 TLK 1 0 07 MACD @,@ 5C00 4 TLK 1 0 7F MAR !,@ 5588 2 T1 1 0 07 MAR ! 5580 2 NOP 1 MAR @ 5500 2 T1 1 0 7F MPY !,@ 3888 2 T1 1 0 07 MPY ! 3880 2 NOP 1 MPY @ 3800 2 T1 1 0 7F MPYA !,@ 3A88 2 T1 1 0 07 MPYA ! 3A80 2 NOP 1 MPYA @ 3A00 2 T1 1 0 7F MPYK @ A000 2 T1 1 0 1FFF ;13 BIT CONTSTANT MPYS !,@ 3B88 2 T1 1 0 07 MPYS ! 3B80 2 NOP 1 MPYS @ 3B00 2 T1 1 0 7F MPYU !,@ CF88 2 T1 1 0 07 MPYU ! CF80 2 NOP 1 MPYU @ CF00 2 T1 1 0 7F NEG "" CE23 2 NOP 1 NOP "" 5500 2 NOP 1 NORM ! CE82 2 NOP 1 ; C25 NORM "" CEA2 2 NOP 1 ; C20 OR !,@ 4D88 2 T1 1 0 07 OR ! 4D80 2 NOP 1 OR @ 4D00 2 T1 1 0 7F ORK @,@ D005 4 TLK 1 8 0F00 ORK @ D005 4 TLK 1 OUT !,@,@ E088 2 T1 1 8 0F00 OUT !,@ E080 2 T1 1 8 0F00 OUT @,@ E000 2 TDMA 1 8 0F00 PAC "" CE14 2 NOP 1 POP "" CE1D 2 NOP 1 POPD !,@ 7A88 2 T1 1 0 07 POPD ! 7A80 2 NOP 1 POPD @ 7A00 2 T1 1 0 7F PSHD !,@ 5488 2 T1 1 0 07 PSHD ! 5480 2 NOP 1 PSHD @ 5400 2 T1 1 0 7F PUSH "" CE1C 2 NOP 1 RC "" CE30 2 NOP 1 RET "" CE26 2 NOP 1 RFSM "" CE36 2 NOP 1 RHM "" CE38 2 NOP 1 ROL "" CE34 2 NOP 1 ROR "" CE35 2 NOP 1 ROVM "" CE02 2 NOP 1 RPT !,@ 4B88 2 T1 1 0 07 RPT ! 4B80 2 NOP 1 RPT @ 4B00 2 T1 1 0 7F RPTK @ CB00 2 T1 1 0 00FF ;8 bit constant RSXM "" CE06 2 NOP 1 RTC "" CE32 2 NOP 1 RTXM "" CE20 2 NOP 1 RXF "" CE0C 2 NOP 1 /* shift count for SACH can only be 0,1, or 4 FOR 32020 /* 0-7 FOR 320c25. For now, build the table specifically for the 320C25 SACH !,@,@ 6888 2 T1 1 8 0700 SACH !,@ 6880 2 T1 1 8 0700 SACH ! 6880 2 NOP 1 SACH @,@ 6800 2 TDMA 1 8 0700 SACH @ 6800 2 T1 1 0 007F SACL !,@,@ 6088 2 T1 1 8 0700 SACL !,@ 6080 2 T1 1 8 0700 SACL ! 6080 2 NOP 1 SACL @,@ 6000 2 TDMA 1 8 0700 SACL @ 6000 2 T1 1 0 007F SAR @,!,@ 7088 2 TAR 1 0 0007 SAR @,! 7080 2 TAR 1 0 0007 SAR @,@ 7000 2 TAR 1 0 007F SBLK @,@ D003 4 TLK 1 8 0F00 SBLK @ D003 4 TLK 1 SBRK @ 7F00 2 T1 1 0 00FF SC "" CE31 2 NOP 1 SFL "" CE18 2 NOP 1 SFR "" CE19 2 NOP 1 SFSM "" CE37 2 NOP 1 SHM "" CE39 2 NOP 1 SOVM "" CE03 2 NOP 1 SPAC "" CE16 2 NOP 1 SPH !,@ 7D88 2 T1 1 0 07 SPH ! 7D80 2 NOP 1 SPH @ 7D00 2 T1 1 0 7F SPL !,@ 7C88 2 T1 1 0 07 SPL ! 7C80 2 NOP 1 SPL @ 7C00 2 T1 1 0 7F SPM @ CE08 2 T1 1 0 03 ;2 bit constant SQRA !,@ 3988 2 T1 1 0 07 SQRA ! 3980 2 NOP 1 SQRA @ 3900 2 T1 1 0 7F SQRS !,@ 5A88 2 T1 1 0 07 SQRS ! 5A80 2 NOP 1 SQRS @ 5A00 2 T1 1 0 7F SST !,@ 7888 2 T1 1 0 07 SST ! 7880 2 NOP 1 SST @ 7800 2 T1 1 0 7F SST1 !,@ 7988 2 T1 1 0 07 SST1 ! 7980 2 NOP 1 SST1 @ 7900 2 T1 1 0 7F SSXM "" CE07 2 NOP 1 STC "" CE33 2 NOP 1 STXM "" CE21 2 NOP 1 SUB !,@,@ 1088 2 T1 1 8 0F00 SUB !,@ 1080 2 T1 1 8 0F00 SUB ! 1080 2 NOP 1 SUB @,@ 1000 2 TDMA 1 8 0F00 SUB @ 1000 2 T1 1 0 007F SUBB !,@ 4F88 2 T1 1 0 07 SUBB ! 4F80 2 NOP 1 SUBB @ 4F00 2 T1 1 0 7F SUBC !,@ 4788 2 T1 1 0 07 SUBC ! 4780 2 NOP 1 SUBC @ 4700 2 T1 1 0 7F SUBH !,@ 4488 2 T1 1 0 07 SUBH ! 4480 2 NOP 1 SUBH @ 4400 2 T1 1 0 7F SUBK @ CD00 2 T1 1 0 00FF SUBS !,@ 4588 2 T1 1 0 07 SUBS ! 4580 2 NOP 1 SUBS @ 4500 2 T1 1 0 7F SUBT !,@ 4688 2 T1 1 0 07 SUBT ! 4680 2 NOP 1 SUBT @ 4600 2 T1 1 0 7F SXF "" CE0D 2 NOP 1 TBLR !,@ 5888 2 T1 1 0 07 TBLR ! 5880 2 NOP 1 TBLR @ 5800 2 T1 1 0 7F TBLW !,@ 5988 2 T1 1 0 07 TBLW ! 5980 2 NOP 1 TBLW @ 5900 2 T1 1 0 7F TRAP "" CE1E 2 NOP 1 XOR !,@ 4C88 2 T1 1 0 07 XOR ! 4C80 2 NOP 1 XOR @ 4C00 2 T1 1 0 7F XORK @,@ D006 4 TLK 1 8 0F00 XORK @ D006 4 TLK 1 ZAC "" CA00 2 NOP 1 ZALH !,@ 4088 2 T1 1 0 07 ZALH ! 4080 2 NOP 1 ZALH @ 4000 2 T1 1 0 7F ZALR !,@ 7B88 2 T1 1 0 07 ZALR ! 7B80 2 NOP 1 ZALR @ 7B00 2 T1 1 0 7F ZALS !,@ 4188 2 T1 1 0 07 ZALS ! 4180 2 NOP 1 ZALS @ 4100 2 T1 1 0 7F