home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / emulate / x_comp / a80 / sortier.a80 < prev   
Text File  |  1993-02-11  |  2KB  |  62 lines

  1. ; Programm für die Sortiermaschine aus dem Fischertechnik-Robot-
  2. ; Kasten für den NDR-Klein-Computer. Anschlußbelgungen gehen aus dem 
  3. ; Assembler-Listing hervor.
  4.  
  5. ; verwendeter Port:
  6. port1     equ 30h
  7.  
  8. ; Tasten:
  9. mess1  equ not bit 0
  10. mess2  equ not bit 1
  11. rechts equ not bit 4
  12. start  equ not bit 5
  13. mitte  equ not bit 6
  14. links  equ not bit 7
  15.  
  16. beide  equ mess1 and mess2
  17.  
  18. ; Motorsteuerung:
  19. motor   equ bit 3
  20. relais  equ bit 1
  21.  
  22. vor     equ motor
  23. rueck    equ motor + relais
  24. aus     equ 0
  25.  
  26. ; Programm:
  27.  
  28.     org 0, 8100h ; Startadresse bei HEXMON ist 8100h
  29.                      ; Das Programm wird am Beginn der Maschinencode- 
  30.                      ; Datei abgelegt, muß auf dem NDR-Klein-Computer 
  31.                      ; auf Adresse 8100h geladen werden.
  32.  
  33. begin:
  34.  
  35.     in a, (port1)
  36.     cp start    ; Starttaster gedrückt
  37.     jr nz, begin    ; wenn nicht, warten
  38.     ld a, vor
  39.     out (port1), a  ; Stein vorwärts bewegen
  40. a2:    in a, (port1)
  41.     cp links    ; nur eine Taste gedrückt,
  42.     jr z, kurz    ; dann kurzer Stein
  43.     cp beide    ; wenn keine Taste gedrückt,
  44.     jr nz, a2    ; warten, bis der Stein da ist
  45.     ld a, rueck
  46.     out (port1), a    ; Stein rückwärts bewegen
  47. a3:    in a, (port1)
  48.     cp rechts    ; rechtes Ende erreicht?
  49.     jr nz, a3    ; wenn nicht, warten
  50.     ld a, vor
  51.     out (port1), a    ; Stein vorwärts bewegen
  52. a4:    in a, (port1)
  53.     cp mitte    ; Mitte erreicht?
  54.     jr nz, a4    ; wenn nicht, warten
  55.     xor a        ; wie ld a,0 bloß ein Byte gespart
  56.     out (port1), a    ; Motor halt
  57.     jr begin
  58. kurz:    ld a, rueck    ; Stein rückwärts bewegen
  59.     out (port1), a
  60.     jr a4
  61.  
  62.     end