mips16-extend-insn.s 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630
  1. .set mips16
  2. .set noreorder
  3. foo:
  4. extend 0x123 # ADDIUSP
  5. addiu $16, $29, 0
  6. extend 0x123
  7. addiu $16, $29, 128
  8. extend 0x123
  9. addiu $16, $29, 256
  10. extend 0x123
  11. addiu $16, $29, 384
  12. extend 0x123
  13. addiu $16, $29, 512
  14. extend 0x123
  15. addiu $16, $29, 640
  16. extend 0x123
  17. addiu $16, $29, 768
  18. extend 0x123
  19. addiu $16, $29, 896
  20. extend 0x123 # ADDIUPC
  21. addiu $16, $pc, 0
  22. extend 0x123
  23. addiu $16, $pc, 128
  24. extend 0x123
  25. addiu $16, $pc, 256
  26. extend 0x123
  27. addiu $16, $pc, 384
  28. extend 0x123
  29. addiu $16, $pc, 512
  30. extend 0x123
  31. addiu $16, $pc, 640
  32. extend 0x123
  33. addiu $16, $pc, 768
  34. extend 0x123
  35. addiu $16, $pc, 896
  36. extend 0x123 # B
  37. b . + 2
  38. extend 0x123
  39. b . + 66
  40. extend 0x123
  41. b . + 130
  42. extend 0x123
  43. b . + 194
  44. extend 0x123
  45. b . + 258
  46. extend 0x123
  47. b . + 322
  48. extend 0x123
  49. b . + 386
  50. extend 0x123
  51. b . + 450
  52. extend 0x123 # BEQZ
  53. beqz $16, . + 2
  54. extend 0x123
  55. beqz $16, . + 66
  56. extend 0x123
  57. beqz $16, . + 130
  58. extend 0x123
  59. beqz $16, . + 194
  60. extend 0x123
  61. beqz $16, . - 254
  62. extend 0x123
  63. beqz $16, . - 190
  64. extend 0x123
  65. beqz $16, . - 126
  66. extend 0x123
  67. beqz $16, . - 62
  68. extend 0x123 # BNEZ
  69. bnez $16, . + 2
  70. extend 0x123
  71. bnez $16, . + 66
  72. extend 0x123
  73. bnez $16, . + 130
  74. extend 0x123
  75. bnez $16, . + 194
  76. extend 0x123
  77. bnez $16, . - 254
  78. extend 0x123
  79. bnez $16, . - 190
  80. extend 0x123
  81. bnez $16, . - 126
  82. extend 0x123
  83. bnez $16, . - 62
  84. extend 0x123 # SHIFT # SLL
  85. sll $16, $16, 8
  86. extend 0x123
  87. sll $16, $16, 1
  88. extend 0x123
  89. sll $16, $16, 2
  90. extend 0x123
  91. sll $16, $16, 3
  92. extend 0x123
  93. sll $16, $16, 4
  94. extend 0x123
  95. sll $16, $16, 5
  96. extend 0x123
  97. sll $16, $16, 6
  98. extend 0x123
  99. sll $16, $16, 7
  100. extend 0x123 # DSLL
  101. dsll $16, $16, 8
  102. extend 0x123
  103. dsll $16, $16, 1
  104. extend 0x123
  105. dsll $16, $16, 2
  106. extend 0x123
  107. dsll $16, $16, 3
  108. extend 0x123
  109. dsll $16, $16, 4
  110. extend 0x123
  111. dsll $16, $16, 5
  112. extend 0x123
  113. dsll $16, $16, 6
  114. extend 0x123
  115. dsll $16, $16, 7
  116. extend 0x123 # SRL
  117. srl $16, $16, 8
  118. extend 0x123
  119. srl $16, $16, 1
  120. extend 0x123
  121. srl $16, $16, 2
  122. extend 0x123
  123. srl $16, $16, 3
  124. extend 0x123
  125. srl $16, $16, 4
  126. extend 0x123
  127. srl $16, $16, 5
  128. extend 0x123
  129. srl $16, $16, 6
  130. extend 0x123
  131. srl $16, $16, 7
  132. extend 0x123 # SRA
  133. sra $16, $16, 8
  134. extend 0x123
  135. sra $16, $16, 1
  136. extend 0x123
  137. sra $16, $16, 2
  138. extend 0x123
  139. sra $16, $16, 3
  140. extend 0x123
  141. sra $16, $16, 4
  142. extend 0x123
  143. sra $16, $16, 5
  144. extend 0x123
  145. sra $16, $16, 6
  146. extend 0x123
  147. sra $16, $16, 7
  148. extend 0x123 # LD
  149. ld $16, 0($16)
  150. extend 0x123 # RRI-A # ADDIU
  151. addiu $16, $16, 0
  152. extend 0x123 # DADDIU
  153. daddiu $16, $16, 0
  154. extend 0x123 # ADDIU8
  155. addiu $16, 0
  156. extend 0x123
  157. addiu $16, 32
  158. extend 0x123
  159. addiu $16, 64
  160. extend 0x123
  161. addiu $16, 96
  162. extend 0x123
  163. addiu $16, -128
  164. extend 0x123
  165. addiu $16, -96
  166. extend 0x123
  167. addiu $16, -64
  168. extend 0x123
  169. addiu $16, -32
  170. extend 0x123 # SLTI
  171. slti $16, 0
  172. extend 0x123
  173. slti $16, 32
  174. extend 0x123
  175. slti $16, 64
  176. extend 0x123
  177. slti $16, 96
  178. extend 0x123
  179. slti $16, 128
  180. extend 0x123
  181. slti $16, 160
  182. extend 0x123
  183. slti $16, 192
  184. extend 0x123
  185. slti $16, 224
  186. extend 0x123 # SLTIU
  187. sltiu $16, 0
  188. extend 0x123
  189. sltiu $16, 32
  190. extend 0x123
  191. sltiu $16, 64
  192. extend 0x123
  193. sltiu $16, 96
  194. extend 0x123
  195. sltiu $16, 128
  196. extend 0x123
  197. sltiu $16, 160
  198. extend 0x123
  199. sltiu $16, 192
  200. extend 0x123
  201. sltiu $16, 224
  202. extend 0x123 # I8 # BTEQZ
  203. bteqz . + 2
  204. extend 0x123
  205. bteqz . + 66
  206. extend 0x123
  207. bteqz . + 130
  208. extend 0x123
  209. bteqz . + 194
  210. extend 0x123
  211. bteqz . - 254
  212. extend 0x123
  213. bteqz . - 190
  214. extend 0x123
  215. bteqz . - 126
  216. extend 0x123
  217. bteqz . - 62
  218. extend 0x123 # BTNEZ
  219. btnez . + 2
  220. extend 0x123
  221. btnez . + 66
  222. extend 0x123
  223. btnez . + 130
  224. extend 0x123
  225. btnez . + 194
  226. extend 0x123
  227. btnez . - 254
  228. extend 0x123
  229. btnez . - 190
  230. extend 0x123
  231. btnez . - 126
  232. extend 0x123
  233. btnez . - 62
  234. extend 0x123 # SWRASP
  235. sw $31, 0($29)
  236. extend 0x123
  237. sw $31, 128($29)
  238. extend 0x123
  239. sw $31, 256($29)
  240. extend 0x123
  241. sw $31, 512($29)
  242. extend 0x123
  243. sw $31, 640($29)
  244. extend 0x123
  245. sw $31, 768($29)
  246. extend 0x123
  247. sw $31, 896($29)
  248. extend 0x123
  249. sw $31, 0($29)
  250. extend 0x123 # ADJSP
  251. addiu $29, 0
  252. extend 0x123
  253. addiu $29, 256
  254. extend 0x123
  255. addiu $29, 512
  256. extend 0x123
  257. addiu $29, 768
  258. extend 0x123
  259. addiu $29, -1024
  260. extend 0x123
  261. addiu $29, -768
  262. extend 0x123
  263. addiu $29, -512
  264. extend 0x123
  265. addiu $29, -256
  266. extend 0x123 # SVRS # RESTORE
  267. restore 128
  268. extend 0x123 # SAVE
  269. save 128
  270. extend 0x123 # MOV32R
  271. move $0, $16
  272. extend 0x123
  273. move $0, $17
  274. extend 0x123 # MOVR32
  275. move $16, $0
  276. extend 0x123 # LI
  277. li $16, 0
  278. extend 0x123
  279. li $16, 32
  280. extend 0x123
  281. li $16, 64
  282. extend 0x123
  283. li $16, 96
  284. extend 0x123
  285. li $16, 128
  286. extend 0x123
  287. li $16, 160
  288. extend 0x123
  289. li $16, 192
  290. extend 0x123
  291. li $16, 224
  292. extend 0x123 # CMPI
  293. cmpi $16, 0
  294. extend 0x123
  295. cmpi $16, 32
  296. extend 0x123
  297. cmpi $16, 64
  298. extend 0x123
  299. cmpi $16, 96
  300. extend 0x123
  301. cmpi $16, 128
  302. extend 0x123
  303. cmpi $16, 160
  304. extend 0x123
  305. cmpi $16, 192
  306. extend 0x123
  307. cmpi $16, 224
  308. extend 0x123 # SD
  309. sd $16, 0($16)
  310. extend 0x123 # LB
  311. lb $16, 0($16)
  312. extend 0x123 # LH
  313. lh $16, 0($16)
  314. extend 0x123 # LWSP
  315. lw $16, 0($29)
  316. extend 0x123
  317. lw $16, 128($29)
  318. extend 0x123
  319. lw $16, 256($29)
  320. extend 0x123
  321. lw $16, 384($29)
  322. extend 0x123
  323. lw $16, 512($29)
  324. extend 0x123
  325. lw $16, 640($29)
  326. extend 0x123
  327. lw $16, 768($29)
  328. extend 0x123
  329. lw $16, 896($29)
  330. extend 0x123 # LW
  331. lw $16, 0($16)
  332. extend 0x123 # LBU
  333. lbu $16, 0($16)
  334. extend 0x123 # LHU
  335. lhu $16, 0($16)
  336. extend 0x123 # LWPC
  337. lw $16, 0($pc)
  338. extend 0x123
  339. lw $16, 128($pc)
  340. extend 0x123
  341. lw $16, 256($pc)
  342. extend 0x123
  343. lw $16, 384($pc)
  344. extend 0x123
  345. lw $16, 512($pc)
  346. extend 0x123
  347. lw $16, 640($pc)
  348. extend 0x123
  349. lw $16, 768($pc)
  350. extend 0x123
  351. lw $16, 896($pc)
  352. extend 0x123 # LWU
  353. lwu $16, 0($16)
  354. extend 0x123 # SB
  355. sb $16, 0($16)
  356. extend 0x123 # SH
  357. sh $16, 0($16)
  358. extend 0x123 # SWSP
  359. sw $16, 0($29)
  360. extend 0x123
  361. sw $16, 128($29)
  362. extend 0x123
  363. sw $16, 256($29)
  364. extend 0x123
  365. sw $16, 384($29)
  366. extend 0x123
  367. sw $16, 512($29)
  368. extend 0x123
  369. sw $16, 640($29)
  370. extend 0x123
  371. sw $16, 768($29)
  372. extend 0x123
  373. sw $16, 896($29)
  374. extend 0x123 # SW
  375. sw $16, 0($16)
  376. extend 0x123 # RRR # DADDU
  377. daddu $16, $16, $16
  378. extend 0x123 # ADDU
  379. addu $16, $16, $16
  380. extend 0x123 # DSUBU
  381. dsubu $16, $16, $16
  382. extend 0x123 # SUBU
  383. subu $16, $16, $16
  384. extend 0x123 # RR # J(AL)R(C) # JR rx
  385. jr $16
  386. extend 0x123 # JR ra
  387. jr $31
  388. extend 0x123 # JALR
  389. jalr $16
  390. extend 0x123 # JRC rx
  391. jrc $16
  392. extend 0x123 # JRC ra
  393. jrc $31
  394. extend 0x123 # JALRC
  395. jalrc $16
  396. extend 0x123 # SDBBP
  397. sdbbp 0
  398. extend 0x123 # SLT
  399. slt $16, $16
  400. extend 0x123 # SLTU
  401. sltu $16, $16
  402. extend 0x123 # SLLV
  403. sllv $16, $16
  404. extend 0x123 # BREAK
  405. break 0
  406. extend 0x123 # SRLV
  407. srlv $16, $16
  408. extend 0x123 # SRAV
  409. srav $16, $16
  410. extend 0x123 # DSRL
  411. dsrl $16, 8
  412. extend 0x123
  413. dsrl $16, 1
  414. extend 0x123
  415. dsrl $16, 2
  416. extend 0x123
  417. dsrl $16, 3
  418. extend 0x123
  419. dsrl $16, 4
  420. extend 0x123
  421. dsrl $16, 5
  422. extend 0x123
  423. dsrl $16, 6
  424. extend 0x123
  425. dsrl $16, 7
  426. extend 0x123 # ENTRY/EXIT
  427. entry
  428. extend 0x123
  429. entry $31
  430. extend 0x123
  431. exit $f0
  432. extend 0x123
  433. exit $f0-$f1
  434. extend 0x123
  435. exit
  436. extend 0x123 # CMP
  437. cmp $16, $16
  438. extend 0x123 # NEG
  439. neg $16, $16
  440. extend 0x123 # AND
  441. and $16, $16
  442. extend 0x123 # OR
  443. or $16, $16
  444. extend 0x123 # XOR
  445. xor $16, $16
  446. extend 0x123 # NOT
  447. not $16, $16
  448. extend 0x123 # MFHI
  449. mfhi $16
  450. extend 0x123 # CNVT # ZEB
  451. zeb $16
  452. extend 0x123 # ZEH
  453. zeh $16
  454. extend 0x123 # ZEW
  455. zew $16
  456. extend 0x123 # SEB
  457. seb $16
  458. extend 0x123 # SEH
  459. seh $16
  460. extend 0x123 # SEW
  461. sew $16
  462. extend 0x123 # MFLO
  463. mflo $16
  464. extend 0x123 # DSRA
  465. dsra $16, 8
  466. extend 0x123
  467. dsra $16, 1
  468. extend 0x123
  469. dsra $16, 2
  470. extend 0x123
  471. dsra $16, 3
  472. extend 0x123
  473. dsra $16, 4
  474. extend 0x123
  475. dsra $16, 5
  476. extend 0x123
  477. dsra $16, 6
  478. extend 0x123
  479. dsra $16, 7
  480. extend 0x123 # DSLLV
  481. dsllv $16, $16
  482. extend 0x123 # DSRLV
  483. dsrlv $16, $16
  484. extend 0x123 # DSRAV
  485. dsrav $16, $16
  486. extend 0x123 # MULT
  487. mult $16, $16
  488. extend 0x123 # MULTU
  489. multu $16, $16
  490. extend 0x123 # DIV
  491. div $0, $16, $16
  492. extend 0x123 # DIVU
  493. divu $0, $16, $16
  494. extend 0x123 # DMULT
  495. dmult $16, $16
  496. extend 0x123 # DMULTU
  497. dmultu $16, $16
  498. extend 0x123 # DDIV
  499. ddiv $0, $16, $16
  500. extend 0x123 # DDIVU
  501. ddivu $0, $16, $16
  502. extend 0x123 # EXTEND
  503. extend 0
  504. extend 0x123 # I64 # LDSP
  505. ld $16, 0($29)
  506. extend 0x123 # SDSP
  507. sd $16, 0($29)
  508. extend 0x123 # SDRASP
  509. sd $31, 0($29)
  510. extend 0x123
  511. sd $31, 256($29)
  512. extend 0x123
  513. sd $31, 512($29)
  514. extend 0x123
  515. sd $31, 768($29)
  516. extend 0x123
  517. sd $31, 1024($29)
  518. extend 0x123
  519. sd $31, 1280($29)
  520. extend 0x123
  521. sd $31, 1536($29)
  522. extend 0x123
  523. sd $31, 1792($29)
  524. extend 0x123 # DADJSP
  525. daddiu $29, 0
  526. extend 0x123
  527. daddiu $29, 256
  528. extend 0x123
  529. daddiu $29, 512
  530. extend 0x123
  531. daddiu $29, 768
  532. extend 0x123
  533. daddiu $29, -1024
  534. extend 0x123
  535. daddiu $29, -768
  536. extend 0x123
  537. daddiu $29, -512
  538. extend 0x123
  539. daddiu $29, -256
  540. extend 0x123 # LDPC
  541. ld $16, 0($pc)
  542. extend 0x123 # DADDIU5
  543. daddiu $16, 0
  544. extend 0x123 # DADDIUPC
  545. daddiu $16, $pc, 0
  546. extend 0x123 # DADDIUSP
  547. daddiu $16, $sp, 0
  548. # Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
  549. .align 4, 0
  550. .space 16