exg.s 284 B

1234567891011121314151617181920212223
  1. .define exg
  2. .sect .text
  3. .sect .rom
  4. .sect .data
  5. .sect .bss
  6. .sect .text
  7. !size (bytes) in R0
  8. exg:
  9. ldm savereg, R4, $10
  10. ldl RR2, RR14
  11. inc R3, $2
  12. ldl RR4, RR2
  13. add R5, R0
  14. sra R0
  15. 1: ld R1, *RR2
  16. ex R1, *RR4
  17. ld *RR4, R1
  18. inc R3, $2
  19. inc R5, $2
  20. djnz R0, 1b
  21. ldm R4, savereg, $10
  22. ret