Advertisement
Guest User

Untitled

a guest
Jan 4th, 2013
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. seg000:F9C7 read_switches proc near ; PROZEDUR
  2. seg000:F9C7 mov al, 00001000b ; ICH SEHE DIESEN ZUSTAND AN PORT B
  3. seg000:F9C9 out 61h, al ; 'a' ; PPI port B schreiben
  4. seg000:F9CB mov cx, 2956h ; ICH SEHE DIESE WARTEZEIT AN PORT B
  5. seg000:F9CE wait_loop: ; Wartet 2956h Zyklen
  6. seg000:F9CE loop wait_loop
  7. seg000:F9D0 mov al, 11001000b ; ICH SEHE DIESEN ZUSTAND AN PORT B
  8. seg000:F9D2 out 61h, al ; PPI port B schreiben
  9. seg000:F9D4 mov al, 01001000b ; ICH SEHE DIESEN ZUSTAND AN PORT B
  10. seg000:F9D6 out 61h, al ; PC/XT PPI port B
  11. seg000:F9D8 mov al, 0FDh ; '²' ; Tastatur-Int aktivieren
  12. seg000:F9DA out 21h, al ; am Interrupt controller
  13. seg000:F9DC mov ds:byte_46B, 0 ; Testbyte = 0 (Wird vom Int gesetzt)
  14. seg000:F9E1 sti ; Int an
  15. seg000:F9E2 sub cx, cx ; CX = 0 -> FFFF wartezyklen
  16. seg000:F9E4
  17. seg000:F9E4 wait_int:
  18. seg000:F9E4 test ds:byte_46B, 2 ; Hat Interrupt Bit gesetzt?
  19. seg000:F9E9 jnz short int_occured
  20. seg000:F9EB loop wait_int ; Hat Interrupt Bit gesetzt?
  21. seg000:F9ED ; Schleife wird auch verlassen, wenn Int nicht erfolgt ist!
  22. seg000:F9ED int_occured:
  23. seg000:F9ED in al, 60h ; Lese Port A ( HÄNGT ER HIER? )
  24. seg000:F9EF mov bl, al
  25. seg000:F9F1 mov al, 11001000b ; ICH SEHE DIESEN ZUSTAND NICHT MEHR AN PORT B
  26. seg000:F9F3 out 61h, al ; PC/XT PPI port B
  27. seg000:F9F5 retn
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement