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