ngi4.s 339 B

12345678910111213141516171819202122232425262728293031
  1. .define .ngi4
  2. .sect .text
  3. .sect .rom
  4. .sect .data
  5. .sect .bss
  6. .sect .text
  7. ! Exchange 32 bits integer by its two's complement
  8. ! Expects operand on stack
  9. ! Yields result on stack
  10. .ngi4: pop d
  11. lxi h,0
  12. dad sp
  13. xra a
  14. sub m
  15. mov m,a
  16. inx h
  17. mvi a,0
  18. sbb m
  19. mov m,a
  20. inx h
  21. mvi a,0
  22. sbb m
  23. mov m,a
  24. inx h
  25. mvi a,0
  26. sbb m
  27. mov m,a
  28. push d
  29. ret