1 .set mips16 2 .set noreorder 3foo: 4 addiu.t $16, $29, 0 # ADDIUSP 5 addu.t $16, $29, 0 6 7 .align 2 8 addiu.t $16, $pc, 0 # ADDIUPC 9 addu.t $16, $pc, 0 10 la.t $16, . - 1 11 12 b.t . + 2 # B 13 14 jal.t 0 # JAL(X) 15 nop 16 jalx.t 0 17 nop 18 19 beqz.t $16, . + 2 # BEQZ 20 21 bnez.t $16, . + 2 # BNEZ 22 23 sll.t $16, $16, 8 # SHIFT # SLL 24 dsll.t $16, $16, 8 # DSLL 25 srl.t $16, $16, 8 # SRL 26 sra.t $16, $16, 8 # SRA 27 28 ld.t $16, 0($16) # LD 29 30 addiu.t $16, $16, 0 # RRI-A # ADDIU 31 addu.t $16, $16, 0 32 daddiu.t $16, $16, 0 # DADDIU 33 daddu.t $16, $16, 0 34 35 addiu.t $16, 0 # ADDIU8 36 addu.t $16, 0 37 38 slti.t $16, 0 # SLTI 39 slt.t $16, 0 40 41 sltiu.t $16, 0 # SLTIU 42 sltu.t $16, 0 43 44 bteqz.t . + 2 # I8 # BTEQZ 45 btnez.t . + 2 # BTNEZ 46 sw.t $31, 0($29) # SWRASP 47 addiu.t $29, 0 # ADJSP 48 addiu.t $29, $29, 0 49 addu.t $29, 0 50 addu.t $29, $29, 0 51 restore.t 128 # SVRS # RESTORE 52 save.t 128 # SAVE 53 nop.t # MOV32R 54 move.t $0, $16 55 move.t $16, $0 # MOVR32 56 57 li.t $16, 0 # LI 58 59 cmpi.t $16, 0 # CMPI 60 cmp.t $16, 0 61 62 sd.t $16, 0($16) # SD 63 64 lb.t $16, 0($16) # LB 65 66 lh.t $16, 0($16) # LH 67 68 lw.t $16, 0($29) # LWSP 69 70 lw.t $16, 0($16) # LW 71 72 lbu.t $16, 0($16) # LBU 73 74 lhu.t $16, 0($16) # LHU 75 76 .align 2 77 lw.t $16, 0($pc) # LWPC 78 lw.t $16, . - 3 79 80 lwu.t $16, 0($16) # LWU 81 82 sb.t $16, 0($16) # SB 83 84 sh.t $16, 0($16) # SH 85 86 sw.t $16, 0($29) # SWSP 87 88 sw.t $16, 0($16) # SW 89 90 daddu.t $16, $16, $16 # RRR # DADDU 91 addu.t $16, $16, $16 # ADDU 92 dsubu.t $16, $16, $16 # DSUBU 93 subu.t $16, $16, $16 # SUBU 94 95 jr.t $16 # RR # J(AL)R(C) # JR rx 96 nop 97 j.t $16 98 nop 99 jr.t $31 # JR ra 100 nop 101 j.t $31 102 nop 103 jalr.t $16 # JALR 104 nop 105 jalr.t $31, $16 106 nop 107 jal.t $16 108 nop 109 jal.t $31, $16 110 nop 111 jrc.t $16 # JRC rx 112 jrc.t $31 # JRC ra 113 jalrc.t $16 # JALRC 114 jalrc.t $31, $16 115 sdbbp.t 0 # SDBBP 116 slt.t $16, $16 # SLT 117 sltu.t $16, $16 # SLTU 118 sllv.t $16, $16 # SLLV 119 sll.t $16, $16 120 break.t 0 # BREAK 121 srlv.t $16, $16 # SRLV 122 srl.t $16, $16 123 srav.t $16, $16 # SRAV 124 sra.t $16, $16 125 dsrl.t $16, 8 # DSRL 126 entry.t # ENTRY/EXIT 127 entry.t $31 128 exit.t $f0 129 exit.t 130 cmp.t $16, $16 # CMP 131 neg.t $16, $16 # NEG 132 and.t $16, $16 # AND 133 or.t $16, $16 # OR 134 xor.t $16, $16 # XOR 135 not.t $16, $16 # NOT 136 mfhi.t $16 # MFHI 137 zeb.t $16 # CNVT # ZEB 138 zeh.t $16 # ZEH 139 zew.t $16 # ZEW 140 seb.t $16 # SEB 141 seh.t $16 # SEH 142 sew.t $16 # SEW 143 mflo.t $16 # MFLO 144 dsra.t $16, 8 # DSRA 145 dsllv.t $16, $16 # DSLLV 146 dsll.t $16, $16 147 dsrlv.t $16, $16 # DSRLV 148 dsrl.t $16, $16 149 dsrav.t $16, $16 # DSRAV 150 dsra.t $16, $16 151 mult.t $16, $16 # MULT 152 multu.t $16, $16 # MULTU 153 div.t $0, $16, $16 # DIV 154 rem.t $0, $16, $16 155 divu.t $0, $16, $16 # DIVU 156 remu.t $0, $16, $16 157 dmult.t $16, $16 # DMULT 158 dmultu.t $16, $16 # DMULTU 159 ddiv.t $0, $16, $16 # DDIV 160 drem.t $0, $16, $16 161 ddivu.t $0, $16, $16 # DDIVU 162 dremu.t $0, $16, $16 163 164 extend.t 0 # EXTEND 165 166 ld.t $16, 0($29) # I64 # LDSP 167 sd.t $16, 0($29) # SDSP 168 sd.t $31, 0($29) # SDRASP 169 daddiu.t $29, 0 # DADJSP 170 daddiu.t $29, $29, 0 171 daddu.t $29, 0 172 daddu.t $29, $29, 0 173 .align 3 174 ld.t $16, 0($pc) # LDPC 175 ld.t $16, . - 3 176 daddiu.t $16, 0 # DADDIU5 177 daddu.t $16, 0 178 .align 2 179 daddiu.t $16, $pc, 0 # DADDIUPC 180 daddu.t $16, $pc, 0 181 dla.t $16, . - 1 182 daddiu.t $16, $sp, 0 # DADDIUSP 183 daddu.t $16, $sp, 0 184 185# Force some (non-delay-slot) zero bytes, to make 'objdump' print ... 186 .align 4, 0 187 .space 16 188