| 1 | .set mips16 |
| 2 | .set noreorder |
| 3 | foo: |
| 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 |