qsort.s 961 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. .file "qsort.c"
  2. #NO_APP
  3. .text
  4. tigcc_compiled.:
  5. #APP
  6. .set _A_LINE,0xA000
  7. #NO_APP
  8. .text
  9. .even
  10. .globl qsort
  11. qsort:
  12. subq.w #8,%sp
  13. movm.l #0x1f3a,-(%sp)
  14. move.l %a0,%a6
  15. move.w %d0,%a4
  16. move.w %d1,%d6
  17. move.l %a1,36(%sp)
  18. move.w %d0,%d5
  19. jbra .L24
  20. .even
  21. .L22:
  22. move.w %d5,%d4
  23. muls.w %d6,%d4
  24. move.w %d4,%d7
  25. jbra .L6
  26. .even
  27. .L21:
  28. clr.l %d0
  29. move.w %d4,%d0
  30. move.l %a6,%d3
  31. add.l %d0,%d3
  32. jbra .L23
  33. .even
  34. .L20:
  35. move.l %d3,%a3
  36. clr.l %d0
  37. move.w %d7,%d0
  38. lea (%a3,%d0.l),%a2
  39. move.l %a2,-(%sp)
  40. move.l %d3,-(%sp)
  41. move.l 44(%sp),%a0
  42. jbsr (%a0)
  43. addq.l #8,%sp
  44. tst.w %d0
  45. jble .L11
  46. move.w %d6,%d1
  47. jbra .L15
  48. .even
  49. .L19:
  50. move.b (%a3),%d0
  51. move.b (%a2),(%a3)+
  52. move.b %d0,(%a2)+
  53. subq.w #1,%d1
  54. .L15:
  55. tst.w %d1
  56. jbne .L19
  57. .L23:
  58. clr.l %d0
  59. move.w %d7,%d0
  60. sub.l %d0,%d3
  61. cmp.l %d3,%a6
  62. jbls .L20
  63. .L11:
  64. add.w %d6,%d4
  65. .L6:
  66. move.w %a4,%d0
  67. muls.w %d6,%d0
  68. cmp.w %d4,%d0
  69. jbhi .L21
  70. .L24:
  71. lsr.w #1,%d5
  72. jbne .L22
  73. movm.l (%sp)+,#0x5cf8
  74. addq.w #8,%sp
  75. rts