diRestore.z80 321 B

123456789101112131415161718192021222324
  1. diRestore:
  2. ;Disables interrupts and sets up a return function to restore them
  3. ex (sp),hl
  4. push hl
  5. push af
  6. ld hl,restoreei
  7. ld a,r
  8. jp pe,+_
  9. ld hl,restoredi
  10. _:
  11. di
  12. pop af
  13. inc sp
  14. inc sp
  15. ex (sp),hl
  16. dec sp
  17. dec sp
  18. ret
  19. restoredi:
  20. di
  21. ret
  22. restoreei:
  23. ei
  24. ret