sar2.s 365 B

1234567891011121314151617181920212223242526272829303132
  1. .define .sar2
  2. .sect .text
  3. .sect .rom
  4. .sect .data
  5. .sect .bss
  6. .sect .text
  7. ! special case sar: element size = 2 (statically known)
  8. ! parameters:
  9. ! on stack
  10. ! adapted from .aar2
  11. ! execution time: 143 states
  12. .sar2:
  13. pop ix
  14. pop hl
  15. ld c,(hl)
  16. inc hl
  17. ld b,(hl)
  18. pop hl
  19. xor a
  20. sbc hl,bc
  21. add hl,hl
  22. pop de
  23. add hl,de
  24. pop de
  25. ld (hl),e
  26. inc hl
  27. ld (hl),d
  28. jp (ix)