bls.s 416 B

123456789101112131415161718192021222324252627282930
  1. #include "em_abs.h"
  2. .sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
  3. .define .bls
  4. ! $Id$
  5. .bls:
  6. movl (sp)+,r3
  7. cmpl r0,$4
  8. bneq 5f
  9. movl (sp)+,r0 ! number of bytes in r0
  10. movl (sp)+,r1 ! addresses in r1, r2
  11. movl (sp)+,r2
  12. blbc r0,1f
  13. movb (r2)+,(r1)+
  14. 1:
  15. bbc $1,r0,2f
  16. movw (r2)+,(r1)+
  17. 2:
  18. ashl $-2,r0,r0
  19. beql 4f
  20. 3:
  21. movl (r2)+,(r1)+
  22. sobgtr r0,3b
  23. 4:
  24. jmp (r3)
  25. 5:
  26. pushl $EILLINS
  27. jmp .fat