sprite16.s 746 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. .file "sprite16.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 Sprite16
  11. Sprite16:
  12. movm.l #0x1c20,-(%sp)
  13. move.w %d2,%d4
  14. move.l %a0,%a2
  15. muls.w #30,%d1
  16. lea (%a1,%d1.w),%a0
  17. move.w %d0,%d1
  18. asr.w #3,%d1
  19. and.l #65534,%d1
  20. add.l %d1,%a0
  21. and.w #15,%d0
  22. moveq.l #16,%d5
  23. sub.w %d0,%d5
  24. jbra .L2
  25. .even
  26. .L10:
  27. move.w (%a2)+,%d0
  28. move.w %d5,%d2
  29. ext.l %d2
  30. move.l (%a0),%d1
  31. lea (30,%a0),%a1
  32. cmp.w #2,%d3
  33. jbne .L6
  34. not.w %d0
  35. and.l #0xFFFF,%d0
  36. lsl.l %d2,%d0
  37. not.l %d0
  38. and.l %d0,%d1
  39. jbra .L11
  40. .even
  41. .L6:
  42. and.l #0xFFFF,%d0
  43. lsl.l %d2,%d0
  44. tst.w %d3
  45. jbne .L8
  46. eor.l %d0,%d1
  47. jbra .L11
  48. .even
  49. .L8:
  50. or.l %d0,%d1
  51. .L11:
  52. move.l %d1,(%a0)
  53. move.l %a1,%a0
  54. .L2:
  55. dbra %d4,.L10
  56. movm.l (%sp)+,#0x438
  57. rts