cmu.s 391 B

12345678910111213141516171819202122232425262728293031323334
  1. .define .cmu
  2. .sect .text
  3. .sect .rom
  4. .sect .data
  5. .sect .bss
  6. .sect .text
  7. .sect .text
  8. .cmu: movd tos, r3 !return addres
  9. addr 4(sp), r1
  10. movd r1, r2
  11. addd 0(sp), r2
  12. movd 0(sp), r0
  13. muld -2, r0
  14. subd 4, r0
  15. 3:
  16. cmpd 0(r2), 0(r1)
  17. bhi 1f
  18. blo 2f
  19. addr 4(r1), r1
  20. addr 4(r2), r2
  21. acbd -4, 0(sp), 3b
  22. xord r1, r1
  23. 4:
  24. adjspd r0
  25. movd r3, tos
  26. ret 0
  27. 1:
  28. movd 1, r1
  29. br 4b
  30. 2:
  31. movd -1, r1
  32. br 4b