los.s 323 B

12345678910111213141516171819202122232425262728293031
  1. .define .los
  2. .sect .text
  3. .sect .rom
  4. .sect .data
  5. .sect .bss
  6. .sect .text
  7. .sect .text
  8. .los:
  9. movd tos, r3
  10. movd tos, r0
  11. movd tos, r1
  12. cmpqd 1, r0
  13. beq 1f
  14. cmpqd 2, r0
  15. beq 2f
  16. addd r0, r1
  17. 3:
  18. addqd -4, r1
  19. movd 0(r1), tos
  20. acbd -4, r0, 3b
  21. 4:
  22. movd r3, tos
  23. ret 0
  24. 1:
  25. movzbd 0(r1), tos
  26. br 4b
  27. 2:
  28. movzwd 0(r1), tos
  29. br 4b