.text .set mips16 .globl foo .ent foo foo: # Individual major opcodes. addiu $2, $sp, 0x4011 .half 0xf008, 0x0211 .half 0xf008, 0x0231 .half 0xf008, 0x0251 .half 0xf008, 0x0291 addiu $2, $pc, 0x4011 .half 0xf008, 0x0a11 .half 0xf008, 0x0a31 .half 0xf008, 0x0a51 .half 0xf008, 0x0a91 b . + 0x8026 .half 0xf008, 0x1011 .half 0xf008, 0x1031 .half 0xf008, 0x1051 .half 0xf008, 0x1091 .half 0xf008, 0x1111 .half 0xf008, 0x1211 .half 0xf008, 0x1411 beqz $2, . + 0x8026 .half 0xf008, 0x2211 .half 0xf008, 0x2231 .half 0xf008, 0x2251 .half 0xf008, 0x2291 bnez $2, . + 0x8026 .half 0xf008, 0x2a11 .half 0xf008, 0x2a31 .half 0xf008, 0x2a51 .half 0xf008, 0x2a91 addiu $2, 0x4011 .half 0xf008, 0x4a11 .half 0xf008, 0x4a31 .half 0xf008, 0x4a51 .half 0xf008, 0x4a91 slti $2, 0x4011 .half 0xf008, 0x5211 .half 0xf008, 0x5231 .half 0xf008, 0x5251 .half 0xf008, 0x5291 sltiu $2, 0x4011 .half 0xf008, 0x5a11 .half 0xf008, 0x5a31 .half 0xf008, 0x5a51 .half 0xf008, 0x5a91 li $2, 0x4011 .half 0xf008, 0x6a11 .half 0xf008, 0x6a31 .half 0xf008, 0x6a51 .half 0xf008, 0x6a91 cmpi $2, 0x4011 .half 0xf008, 0x7211 .half 0xf008, 0x7231 .half 0xf008, 0x7251 .half 0xf008, 0x7291 lw $2, 0x4011($sp) .half 0xf008, 0x9211 .half 0xf008, 0x9231 .half 0xf008, 0x9251 .half 0xf008, 0x9291 lw $2, 0x4011($pc) .half 0xf008, 0xb211 .half 0xf008, 0xb231 .half 0xf008, 0xb251 .half 0xf008, 0xb291 sw $2, 0x4011($sp) .half 0xf008, 0xd211 .half 0xf008, 0xd231 .half 0xf008, 0xd251 .half 0xf008, 0xd291 # I8 major opcode. bteqz . + 0x8026 .half 0xf008, 0x6011 .half 0xf008, 0x6031 .half 0xf008, 0x6051 .half 0xf008, 0x6091 btnez . + 0x8026 .half 0xf008, 0x6111 .half 0xf008, 0x6131 .half 0xf008, 0x6151 .half 0xf008, 0x6191 sw $ra, 0x4011($sp) .half 0xf008, 0x6211 .half 0xf008, 0x6231 .half 0xf008, 0x6251 .half 0xf008, 0x6291 addiu $sp, 0x4011 .half 0xf008, 0x6311 .half 0xf008, 0x6331 .half 0xf008, 0x6351 .half 0xf008, 0x6391 # SHIFT major opcode sll $2, $3, 0x14 .half 0xf500, 0x3260 .half 0xf500, 0x3264 .half 0xf500, 0x3268 .half 0xf500, 0x3270 .half 0xf501, 0x3260 .half 0xf502, 0x3260 .half 0xf504, 0x3260 .half 0xf508, 0x3260 .half 0xf510, 0x3260 .half 0xf520, 0x3260 dsll $2, $3, 0x14 .half 0xf500, 0x3261 .half 0xf500, 0x3265 .half 0xf500, 0x3269 .half 0xf500, 0x3271 .half 0xf501, 0x3261 .half 0xf502, 0x3261 .half 0xf504, 0x3261 .half 0xf508, 0x3261 .half 0xf510, 0x3261 .half 0xf520, 0x3261 srl $2, $3, 0x14 .half 0xf500, 0x3262 .half 0xf500, 0x3266 .half 0xf500, 0x326a .half 0xf500, 0x3272 .half 0xf501, 0x3262 .half 0xf502, 0x3262 .half 0xf504, 0x3262 .half 0xf508, 0x3262 .half 0xf510, 0x3262 .half 0xf520, 0x3262 sra $2, $3, 0x14 .half 0xf500, 0x3263 .half 0xf500, 0x3267 .half 0xf500, 0x326b .half 0xf500, 0x3273 .half 0xf501, 0x3263 .half 0xf502, 0x3263 .half 0xf504, 0x3263 .half 0xf508, 0x3263 .half 0xf510, 0x3263 .half 0xf520, 0x3263 # RR major opcode dsrl $2, 0x14 .half 0xf500, 0xe848 .half 0xf500, 0xe948 .half 0xf500, 0xea48 .half 0xf500, 0xec48 .half 0xf501, 0xe848 .half 0xf502, 0xe848 .half 0xf504, 0xe848 .half 0xf508, 0xe848 .half 0xf510, 0xe848 .half 0xf520, 0xe848 dsra $2, 0x14 .half 0xf500, 0xe853 .half 0xf500, 0xe953 .half 0xf500, 0xea53 .half 0xf500, 0xec53 .half 0xf501, 0xe853 .half 0xf502, 0xe853 .half 0xf504, 0xe853 .half 0xf508, 0xe853 .half 0xf510, 0xe853 .half 0xf520, 0xe853 # I64 major opcode. daddiu $sp, 0x4011 .half 0xf008, 0xfb11 .half 0xf008, 0xfb31 .half 0xf008, 0xfb51 .half 0xf008, 0xfb91 .end foo # Force some (non-delay-slot) zero bytes, to make 'objdump' print ... .align 4, 0 .space 16