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