dhrystone.s 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886
  1. .file 1 "dhrystone.c"
  2. # GNU C 2.7.2.3 [AL 1.1, MM 40, tma 0.1] SimpleScalar running sstrix compiled by GNU C
  3. # Cc1 defaults:
  4. # -mgas -mgpOPT
  5. # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1):
  6. # -quiet -dumpbase -O0 -o
  7. gcc2_compiled.:
  8. __gnu_compiled_c:
  9. .globl Version
  10. .sdata
  11. .align 2
  12. Version:
  13. .ascii "1.1\000"
  14. .text
  15. .align 2
  16. .globl main
  17. .rdata
  18. .align 2
  19. $LC0:
  20. .ascii "DHRYSTONE PROGRAM, SOME STRING\000"
  21. .align 2
  22. $LC1:
  23. .ascii "DHRYSTONE PROGRAM, 1'ST STRING\000"
  24. .align 2
  25. $LC2:
  26. .ascii "DHRYSTONE PROGRAM, 2'ND STRING\000"
  27. .align 2
  28. $LC3:
  29. .ascii "Dhrystone(%s) time for %ld passes = %ld\n\000"
  30. .align 2
  31. $LC4:
  32. .ascii "This machine benchmarks at %ld dhrystones/second\n\000"
  33. .text
  34. .align 2
  35. .globl Proc0
  36. .align 2
  37. .globl Proc1
  38. .align 2
  39. .globl Proc2
  40. .align 2
  41. .globl Proc3
  42. .align 2
  43. .globl Proc4
  44. .align 2
  45. .globl Proc5
  46. .align 2
  47. .globl Proc6
  48. .align 2
  49. .globl Proc7
  50. .align 2
  51. .globl Proc8
  52. .align 2
  53. .globl Func1
  54. .align 2
  55. .globl Func2
  56. .align 2
  57. .globl Func3
  58. .comm IntGlob,4
  59. .comm BoolGlob,4
  60. .comm Char1Glob,1
  61. .comm Char2Glob,1
  62. .comm Array1Glob,204
  63. .comm Array2Glob,10404
  64. .comm PtrGlb,4
  65. .comm PtrGlbNext,4
  66. .text
  67. .loc 1 414
  68. .ent main
  69. main:
  70. .frame $fp,24,$31 # vars= 0, regs= 2/0, args= 16, extra= 0
  71. .mask 0xc0000000,-4
  72. .fmask 0x00000000,0
  73. subu $sp,$sp,24
  74. sw $31,20($sp)
  75. sw $fp,16($sp)
  76. move $fp,$sp
  77. jal __main
  78. jal Proc0
  79. move $4,$0
  80. jal exit
  81. $L1:
  82. move $sp,$fp # sp not trusted here
  83. lw $31,20($sp)
  84. lw $fp,16($sp)
  85. addu $sp,$sp,24
  86. j $31
  87. .end main
  88. .loc 1 432
  89. .ent Proc0
  90. Proc0:
  91. .frame $fp,152,$31 # vars= 120, regs= 3/0, args= 16, extra= 0
  92. .mask 0xc0010000,-8
  93. .fmask 0x00000000,0
  94. subu $sp,$sp,152
  95. sw $31,144($sp)
  96. sw $fp,140($sp)
  97. sw $16,136($sp)
  98. move $fp,$sp
  99. addu $4,$fp,120
  100. jal times
  101. lw $2,120($fp)
  102. sw $2,104($fp)
  103. move $16,$0
  104. $L3:
  105. sltu $2,$16,5000
  106. beq $2,$0,$L4
  107. $L6:
  108. $L5:
  109. addu $16,$16,1
  110. j $L3
  111. $L4:
  112. addu $4,$fp,120
  113. jal times
  114. lw $2,120($fp)
  115. lw $3,104($fp)
  116. subu $2,$2,$3
  117. sw $2,112($fp)
  118. li $4,0x00000030 # 48
  119. jal malloc
  120. sw $2,PtrGlbNext
  121. li $4,0x00000030 # 48
  122. jal malloc
  123. sw $2,PtrGlb
  124. lw $2,PtrGlb
  125. lw $3,PtrGlbNext
  126. sw $3,0($2)
  127. lw $2,PtrGlb
  128. sw $0,4($2)
  129. lw $2,PtrGlb
  130. li $3,0x00000002 # 2
  131. sw $3,8($2)
  132. lw $2,PtrGlb
  133. li $3,0x00000028 # 40
  134. sw $3,12($2)
  135. lw $3,PtrGlb
  136. addu $2,$3,16
  137. move $4,$2
  138. la $5,$LC0
  139. jal strcpy
  140. addu $2,$fp,40
  141. move $4,$2
  142. la $5,$LC1
  143. jal strcpy
  144. li $2,0x0000000a # 10
  145. sw $2,Array2Glob+1660
  146. addu $4,$fp,120
  147. jal times
  148. lw $2,120($fp)
  149. sw $2,104($fp)
  150. move $16,$0
  151. $L7:
  152. sltu $2,$16,5000
  153. beq $2,$0,$L8
  154. $L10:
  155. jal Proc5
  156. jal Proc4
  157. li $2,0x00000002 # 2
  158. sw $2,16($fp)
  159. li $2,0x00000003 # 3
  160. sw $2,20($fp)
  161. addu $2,$fp,72
  162. move $4,$2
  163. la $5,$LC2
  164. jal strcpy
  165. li $2,0x00000001 # 1
  166. sw $2,32($fp)
  167. addu $2,$fp,40
  168. addu $3,$fp,72
  169. move $4,$2
  170. move $5,$3
  171. jal Func2
  172. xori $3,$2,0x0000
  173. sltu $2,$3,1
  174. sw $2,BoolGlob
  175. $L11:
  176. lw $2,16($fp)
  177. lw $3,20($fp)
  178. slt $2,$2,$3
  179. beq $2,$0,$L12
  180. $L13:
  181. lw $2,16($fp)
  182. move $4,$2
  183. sll $3,$4,2
  184. addu $3,$3,$2
  185. lw $2,20($fp)
  186. subu $3,$3,$2
  187. sw $3,24($fp)
  188. addu $2,$fp,24
  189. lw $4,16($fp)
  190. lw $5,20($fp)
  191. move $6,$2
  192. jal Proc7
  193. lw $3,16($fp)
  194. addu $2,$3,1
  195. move $3,$2
  196. sw $3,16($fp)
  197. j $L11
  198. $L12:
  199. la $4,Array1Glob
  200. la $5,Array2Glob
  201. lw $6,16($fp)
  202. lw $7,24($fp)
  203. jal Proc8
  204. lw $4,PtrGlb
  205. jal Proc1
  206. li $2,0x00000041 # 65
  207. sb $2,29($fp)
  208. $L14:
  209. lb $2,29($fp)
  210. lb $3,Char2Glob
  211. slt $2,$3,$2
  212. bne $2,$0,$L15
  213. $L17:
  214. lb $2,29($fp)
  215. move $4,$2
  216. li $5,0x00000043 # 67
  217. jal Func1
  218. lw $3,32($fp)
  219. bne $3,$2,$L18
  220. addu $2,$fp,32
  221. move $4,$0
  222. move $5,$2
  223. jal Proc6
  224. $L18:
  225. $L16:
  226. lbu $2,29($fp)
  227. addu $3,$2,1
  228. move $2,$3
  229. sb $2,29($fp)
  230. j $L14
  231. $L15:
  232. lw $2,20($fp)
  233. lw $3,16($fp)
  234. mult $2,$3
  235. mflo $2
  236. sw $2,24($fp)
  237. lw $2,24($fp)
  238. lw $3,16($fp)
  239. div $2,$2,$3
  240. sw $2,20($fp)
  241. lw $2,24($fp)
  242. lw $3,20($fp)
  243. subu $2,$2,$3
  244. move $4,$2
  245. sll $3,$4,3
  246. subu $3,$3,$2
  247. lw $2,16($fp)
  248. subu $3,$3,$2
  249. sw $3,20($fp)
  250. addu $4,$fp,16
  251. jal Proc2
  252. $L9:
  253. addu $16,$16,1
  254. j $L7
  255. $L8:
  256. addu $4,$fp,120
  257. jal times
  258. lw $2,120($fp)
  259. lw $3,104($fp)
  260. subu $2,$2,$3
  261. lw $3,112($fp)
  262. subu $2,$2,$3
  263. sw $2,108($fp)
  264. lw $2,108($fp)
  265. li $6,0x51eb851f # 1374389535
  266. mult $2,$6
  267. mfhi $5
  268. mflo $4
  269. srl $6,$5,0
  270. move $7,$0
  271. sra $3,$6,5
  272. sra $4,$2,31
  273. subu $2,$3,$4
  274. la $4,$LC3
  275. la $5,Version
  276. li $6,0x00001388 # 5000
  277. move $7,$2
  278. jal printf
  279. li $2,0x0007a120 # 500000
  280. lw $3,108($fp)
  281. div $2,$2,$3
  282. la $4,$LC4
  283. move $5,$2
  284. jal printf
  285. $L2:
  286. move $sp,$fp # sp not trusted here
  287. lw $31,144($sp)
  288. lw $fp,140($sp)
  289. lw $16,136($sp)
  290. addu $sp,$sp,152
  291. j $31
  292. .end Proc0
  293. .loc 1 540
  294. .ent Proc1
  295. Proc1:
  296. .frame $fp,24,$31 # vars= 0, regs= 2/0, args= 16, extra= 0
  297. .mask 0xc0000000,-4
  298. .fmask 0x00000000,0
  299. subu $sp,$sp,24
  300. sw $31,20($sp)
  301. sw $fp,16($sp)
  302. move $fp,$sp
  303. sw $4,24($fp)
  304. lw $2,24($fp)
  305. lw $3,0($2)
  306. lw $2,PtrGlb
  307. move $4,$3
  308. move $5,$2
  309. li $6,0x00000030 # 48
  310. jal memcpy
  311. lw $2,24($fp)
  312. li $3,0x00000005 # 5
  313. sw $3,12($2)
  314. lw $3,24($fp)
  315. lw $2,0($3)
  316. lw $3,24($fp)
  317. lw $4,12($3)
  318. sw $4,12($2)
  319. lw $3,24($fp)
  320. lw $2,0($3)
  321. lw $3,24($fp)
  322. lw $4,0($3)
  323. sw $4,0($2)
  324. lw $2,24($fp)
  325. lw $3,0($2)
  326. lw $4,0($3)
  327. jal Proc3
  328. lw $2,24($fp)
  329. lw $3,0($2)
  330. lw $2,4($3)
  331. bne $2,$0,$L20
  332. lw $2,24($fp)
  333. lw $3,0($2)
  334. li $2,0x00000006 # 6
  335. sw $2,12($3)
  336. lw $2,24($fp)
  337. lw $3,24($fp)
  338. lw $4,0($3)
  339. addu $3,$4,8
  340. lw $4,8($2)
  341. move $5,$3
  342. jal Proc6
  343. lw $3,24($fp)
  344. lw $2,0($3)
  345. lw $3,PtrGlb
  346. lw $4,0($3)
  347. sw $4,0($2)
  348. lw $3,24($fp)
  349. lw $2,0($3)
  350. lw $3,24($fp)
  351. lw $4,0($3)
  352. addu $3,$4,12
  353. lw $4,12($2)
  354. li $5,0x0000000a # 10
  355. move $6,$3
  356. jal Proc7
  357. j $L21
  358. $L20:
  359. lw $2,24($fp)
  360. lw $3,24($fp)
  361. lw $4,0($3)
  362. move $3,$4
  363. move $4,$2
  364. move $5,$3
  365. li $6,0x00000030 # 48
  366. jal memcpy
  367. $L21:
  368. $L19:
  369. move $sp,$fp # sp not trusted here
  370. lw $31,20($sp)
  371. lw $fp,16($sp)
  372. addu $sp,$sp,24
  373. j $31
  374. .end Proc1
  375. .loc 1 563
  376. .ent Proc2
  377. Proc2:
  378. .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0
  379. .mask 0x40000000,-8
  380. .fmask 0x00000000,0
  381. subu $sp,$sp,16
  382. sw $fp,8($sp)
  383. move $fp,$sp
  384. sw $4,16($fp)
  385. lw $2,16($fp)
  386. lw $3,0($2)
  387. addu $2,$3,10
  388. sw $2,0($fp)
  389. $L23:
  390. lb $2,Char1Glob
  391. li $3,0x00000041 # 65
  392. bne $2,$3,$L26
  393. lw $3,0($fp)
  394. subu $2,$3,1
  395. move $3,$2
  396. sw $3,0($fp)
  397. lw $2,16($fp)
  398. lw $3,0($fp)
  399. lw $4,IntGlob
  400. subu $3,$3,$4
  401. sw $3,0($2)
  402. sw $0,4($fp)
  403. $L26:
  404. lw $2,4($fp)
  405. beq $2,$0,$L24
  406. $L27:
  407. $L25:
  408. j $L23
  409. $L24:
  410. $L22:
  411. move $sp,$fp # sp not trusted here
  412. lw $fp,8($sp)
  413. addu $sp,$sp,16
  414. j $31
  415. .end Proc2
  416. .loc 1 583
  417. .ent Proc3
  418. Proc3:
  419. .frame $fp,24,$31 # vars= 0, regs= 2/0, args= 16, extra= 0
  420. .mask 0xc0000000,-4
  421. .fmask 0x00000000,0
  422. subu $sp,$sp,24
  423. sw $31,20($sp)
  424. sw $fp,16($sp)
  425. move $fp,$sp
  426. sw $4,24($fp)
  427. lw $2,PtrGlb
  428. beq $2,$0,$L29
  429. lw $2,24($fp)
  430. lw $3,PtrGlb
  431. lw $4,0($3)
  432. sw $4,0($2)
  433. j $L30
  434. $L29:
  435. li $2,0x00000064 # 100
  436. sw $2,IntGlob
  437. $L30:
  438. lw $3,PtrGlb
  439. addu $2,$3,12
  440. li $4,0x0000000a # 10
  441. lw $5,IntGlob
  442. move $6,$2
  443. jal Proc7
  444. $L28:
  445. move $sp,$fp # sp not trusted here
  446. lw $31,20($sp)
  447. lw $fp,16($sp)
  448. addu $sp,$sp,24
  449. j $31
  450. .end Proc3
  451. .loc 1 593
  452. .ent Proc4
  453. Proc4:
  454. .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0
  455. .mask 0x40000000,-8
  456. .fmask 0x00000000,0
  457. subu $sp,$sp,16
  458. sw $fp,8($sp)
  459. move $fp,$sp
  460. lb $2,Char1Glob
  461. xori $3,$2,0x0041
  462. sltu $2,$3,1
  463. sw $2,0($fp)
  464. lw $2,0($fp)
  465. lw $3,BoolGlob
  466. or $2,$2,$3
  467. sw $2,0($fp)
  468. li $2,0x00000042 # 66
  469. sb $2,Char2Glob
  470. $L31:
  471. move $sp,$fp # sp not trusted here
  472. lw $fp,8($sp)
  473. addu $sp,$sp,16
  474. j $31
  475. .end Proc4
  476. .loc 1 602
  477. .ent Proc5
  478. Proc5:
  479. .frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
  480. .mask 0x40000000,-8
  481. .fmask 0x00000000,0
  482. subu $sp,$sp,8
  483. sw $fp,0($sp)
  484. move $fp,$sp
  485. li $2,0x00000041 # 65
  486. sb $2,Char1Glob
  487. sw $0,BoolGlob
  488. $L32:
  489. move $sp,$fp # sp not trusted here
  490. lw $fp,0($sp)
  491. addu $sp,$sp,8
  492. j $31
  493. .end Proc5
  494. .loc 1 610
  495. .ent Proc6
  496. Proc6:
  497. .frame $fp,24,$31 # vars= 0, regs= 2/0, args= 16, extra= 0
  498. .mask 0xc0000000,-4
  499. .fmask 0x00000000,0
  500. subu $sp,$sp,24
  501. sw $31,20($sp)
  502. sw $fp,16($sp)
  503. move $fp,$sp
  504. sw $4,24($fp)
  505. sw $5,28($fp)
  506. lw $2,28($fp)
  507. lw $3,24($fp)
  508. sw $3,0($2)
  509. lw $4,24($fp)
  510. jal Func3
  511. bne $2,$0,$L34
  512. lw $2,28($fp)
  513. li $3,0x00000003 # 3
  514. sw $3,0($2)
  515. $L34:
  516. lw $2,24($fp)
  517. sltu $3,$2,5
  518. beq $3,$0,$L44
  519. lw $2,24($fp)
  520. move $3,$2
  521. sll $2,$3,2
  522. la $3,$L43
  523. addu $2,$2,$3
  524. lw $3,0($2)
  525. j $3
  526. .rdata
  527. .align 3
  528. .align 2
  529. $L43:
  530. .word $L36
  531. .word $L37
  532. .word $L40
  533. .word $L41
  534. .word $L42
  535. .text
  536. $L36:
  537. lw $2,28($fp)
  538. sw $0,0($2)
  539. j $L35
  540. $L37:
  541. lw $2,IntGlob
  542. slt $3,$2,101
  543. bne $3,$0,$L38
  544. lw $2,28($fp)
  545. sw $0,0($2)
  546. j $L39
  547. $L38:
  548. lw $2,28($fp)
  549. li $3,0x00000003 # 3
  550. sw $3,0($2)
  551. $L39:
  552. j $L35
  553. $L40:
  554. lw $2,28($fp)
  555. li $3,0x00000001 # 1
  556. sw $3,0($2)
  557. j $L35
  558. $L41:
  559. j $L35
  560. $L42:
  561. lw $2,28($fp)
  562. li $3,0x00000002 # 2
  563. sw $3,0($2)
  564. $L44:
  565. $L35:
  566. $L33:
  567. move $sp,$fp # sp not trusted here
  568. lw $31,20($sp)
  569. lw $fp,16($sp)
  570. addu $sp,$sp,24
  571. j $31
  572. .end Proc6
  573. .loc 1 629
  574. .ent Proc7
  575. Proc7:
  576. .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0
  577. .mask 0x40000000,-8
  578. .fmask 0x00000000,0
  579. subu $sp,$sp,16
  580. sw $fp,8($sp)
  581. move $fp,$sp
  582. sw $4,16($fp)
  583. sw $5,20($fp)
  584. sw $6,24($fp)
  585. lw $2,16($fp)
  586. addu $3,$2,2
  587. sw $3,0($fp)
  588. lw $2,24($fp)
  589. lw $3,20($fp)
  590. lw $4,0($fp)
  591. addu $3,$3,$4
  592. sw $3,0($2)
  593. $L45:
  594. move $sp,$fp # sp not trusted here
  595. lw $fp,8($sp)
  596. addu $sp,$sp,16
  597. j $31
  598. .end Proc7
  599. .loc 1 640
  600. .ent Proc8
  601. Proc8:
  602. .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0
  603. .mask 0x40000000,-8
  604. .fmask 0x00000000,0
  605. subu $sp,$sp,16
  606. sw $fp,8($sp)
  607. move $fp,$sp
  608. sw $4,16($fp)
  609. sw $5,20($fp)
  610. sw $6,24($fp)
  611. sw $7,28($fp)
  612. lw $2,24($fp)
  613. addu $3,$2,5
  614. sw $3,0($fp)
  615. lw $2,0($fp)
  616. move $3,$2
  617. sll $2,$3,2
  618. lw $3,16($fp)
  619. addu $2,$2,$3
  620. lw $3,28($fp)
  621. sw $3,0($2)
  622. lw $2,0($fp)
  623. move $3,$2
  624. sll $2,$3,2
  625. lw $4,16($fp)
  626. addu $3,$2,$4
  627. addu $2,$3,4
  628. lw $3,0($fp)
  629. move $4,$3
  630. sll $3,$4,2
  631. lw $4,16($fp)
  632. addu $3,$3,$4
  633. lw $4,0($3)
  634. sw $4,0($2)
  635. lw $2,0($fp)
  636. move $3,$2
  637. sll $2,$3,2
  638. lw $3,16($fp)
  639. addu $2,$2,$3
  640. addu $3,$2,120
  641. lw $2,0($fp)
  642. sw $2,0($3)
  643. lw $2,0($fp)
  644. sw $2,4($fp)
  645. $L47:
  646. lw $3,0($fp)
  647. addu $2,$3,1
  648. lw $3,4($fp)
  649. slt $2,$2,$3
  650. bne $2,$0,$L48
  651. $L50:
  652. lw $3,0($fp)
  653. lw $2,4($fp)
  654. move $4,$2
  655. sll $2,$4,2
  656. move $5,$3
  657. sll $4,$5,1
  658. addu $4,$4,$3
  659. sll $3,$4,4
  660. addu $4,$4,$3
  661. sll $3,$4,2
  662. lw $4,20($fp)
  663. addu $3,$3,$4
  664. addu $2,$2,$3
  665. lw $3,0($fp)
  666. sw $3,0($2)
  667. $L49:
  668. lw $3,4($fp)
  669. addu $2,$3,1
  670. move $3,$2
  671. sw $3,4($fp)
  672. j $L47
  673. $L48:
  674. lw $3,0($fp)
  675. lw $2,0($fp)
  676. move $4,$2
  677. sll $2,$4,2
  678. move $5,$3
  679. sll $4,$5,1
  680. addu $4,$4,$3
  681. sll $3,$4,4
  682. addu $4,$4,$3
  683. sll $3,$4,2
  684. lw $4,20($fp)
  685. addu $3,$3,$4
  686. addu $4,$2,$3
  687. subu $2,$4,4
  688. lw $3,0($fp)
  689. lw $2,0($fp)
  690. move $4,$2
  691. sll $2,$4,2
  692. move $5,$3
  693. sll $4,$5,1
  694. addu $4,$4,$3
  695. sll $3,$4,4
  696. addu $4,$4,$3
  697. sll $3,$4,2
  698. lw $4,20($fp)
  699. addu $3,$3,$4
  700. addu $4,$2,$3
  701. subu $2,$4,4
  702. lw $4,0($fp)
  703. lw $3,0($fp)
  704. move $5,$3
  705. sll $3,$5,2
  706. move $6,$4
  707. sll $5,$6,1
  708. addu $5,$5,$4
  709. sll $4,$5,4
  710. addu $5,$5,$4
  711. sll $4,$5,2
  712. lw $5,20($fp)
  713. addu $4,$4,$5
  714. addu $3,$3,$4
  715. subu $4,$3,4
  716. lw $5,0($4)
  717. addu $3,$5,1
  718. move $4,$3
  719. sw $4,0($2)
  720. lw $3,0($fp)
  721. lw $2,0($fp)
  722. move $4,$2
  723. sll $2,$4,2
  724. move $5,$3
  725. sll $4,$5,1
  726. addu $4,$4,$3
  727. sll $3,$4,4
  728. addu $4,$4,$3
  729. sll $3,$4,2
  730. lw $4,20($fp)
  731. addu $3,$3,$4
  732. addu $4,$2,$3
  733. addu $2,$4,4080
  734. lw $3,0($fp)
  735. move $4,$3
  736. sll $3,$4,2
  737. lw $4,16($fp)
  738. addu $3,$3,$4
  739. lw $4,0($3)
  740. sw $4,0($2)
  741. li $2,0x00000005 # 5
  742. sw $2,IntGlob
  743. $L46:
  744. move $sp,$fp # sp not trusted here
  745. lw $fp,8($sp)
  746. addu $sp,$sp,16
  747. j $31
  748. .end Proc8
  749. .loc 1 660
  750. .ent Func1
  751. Func1:
  752. .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0
  753. .mask 0x40000000,-8
  754. .fmask 0x00000000,0
  755. subu $sp,$sp,16
  756. sw $fp,8($sp)
  757. move $fp,$sp
  758. move $3,$4
  759. move $4,$5
  760. sb $3,0($fp)
  761. sb $4,1($fp)
  762. lbu $2,0($fp)
  763. sb $2,2($fp)
  764. lbu $2,2($fp)
  765. sb $2,3($fp)
  766. lb $2,3($fp)
  767. lb $5,1($fp)
  768. beq $2,$5,$L52
  769. move $2,$0
  770. j $L51
  771. j $L53
  772. $L52:
  773. li $2,0x00000001 # 1
  774. j $L51
  775. $L53:
  776. $L51:
  777. move $sp,$fp # sp not trusted here
  778. lw $fp,8($sp)
  779. addu $sp,$sp,16
  780. j $31
  781. .end Func1
  782. .loc 1 675
  783. .ent Func2
  784. Func2:
  785. .frame $fp,32,$31 # vars= 8, regs= 2/0, args= 16, extra= 0
  786. .mask 0xc0000000,-4
  787. .fmask 0x00000000,0
  788. subu $sp,$sp,32
  789. sw $31,28($sp)
  790. sw $fp,24($sp)
  791. move $fp,$sp
  792. sw $4,32($fp)
  793. sw $5,36($fp)
  794. li $2,0x00000001 # 1
  795. sw $2,16($fp)
  796. $L55:
  797. lw $2,16($fp)
  798. slt $3,$2,2
  799. beq $3,$0,$L56
  800. $L57:
  801. lw $2,32($fp)
  802. lw $4,16($fp)
  803. addu $3,$2,$4
  804. lb $2,0($3)
  805. lw $3,16($fp)
  806. lw $4,36($fp)
  807. addu $3,$3,$4
  808. addu $4,$3,1
  809. lb $3,0($4)
  810. move $4,$2
  811. move $5,$3
  812. jal Func1
  813. bne $2,$0,$L58
  814. li $2,0x00000041 # 65
  815. sb $2,20($fp)
  816. lw $3,16($fp)
  817. addu $2,$3,1
  818. move $3,$2
  819. sw $3,16($fp)
  820. $L58:
  821. j $L55
  822. $L56:
  823. lb $2,20($fp)
  824. slt $3,$2,87
  825. bne $3,$0,$L59
  826. lb $2,20($fp)
  827. slt $3,$2,91
  828. beq $3,$0,$L59
  829. li $2,0x00000007 # 7
  830. sw $2,16($fp)
  831. $L59:
  832. lb $2,20($fp)
  833. li $3,0x00000058 # 88
  834. bne $2,$3,$L60
  835. li $2,0x00000001 # 1
  836. j $L54
  837. j $L61
  838. $L60:
  839. lw $4,32($fp)
  840. lw $5,36($fp)
  841. jal strcmp
  842. blez $2,$L62
  843. lw $2,16($fp)
  844. addu $3,$2,7
  845. sw $3,16($fp)
  846. li $2,0x00000001 # 1
  847. j $L54
  848. j $L63
  849. $L62:
  850. move $2,$0
  851. j $L54
  852. $L63:
  853. $L61:
  854. $L54:
  855. move $sp,$fp # sp not trusted here
  856. lw $31,28($sp)
  857. lw $fp,24($sp)
  858. addu $sp,$sp,32
  859. j $31
  860. .end Func2
  861. .loc 1 705
  862. .ent Func3
  863. Func3:
  864. .frame $fp,16,$31 # vars= 8, regs= 1/0, args= 0, extra= 0
  865. .mask 0x40000000,-8
  866. .fmask 0x00000000,0
  867. subu $sp,$sp,16
  868. sw $fp,8($sp)
  869. move $fp,$sp
  870. sw $4,16($fp)
  871. lw $2,16($fp)
  872. sw $2,0($fp)
  873. lw $2,0($fp)
  874. li $3,0x00000002 # 2
  875. bne $2,$3,$L65
  876. li $2,0x00000001 # 1
  877. j $L64
  878. $L65:
  879. move $2,$0
  880. j $L64
  881. $L64:
  882. move $sp,$fp # sp not trusted here
  883. lw $fp,8($sp)
  884. addu $sp,$sp,16
  885. j $31
  886. .end Func3