Parallele Schnittstelle — Änderungen 8732 → 11386

Zeile 90: Zeile 90:
 
Vom Statusregister aus kann nur gelesen werden. Dort wird der Zustand der Peripherie gespeichert.
 
Vom Statusregister aus kann nur gelesen werden. Dort wird der Zustand der Peripherie gespeichert.
  
−
Die Statusregister sind D0 bis D7. Nachfolgend ein kleines Programm, um die Bits zu testen:
+
Die Bits haben folgende Bedeutung:
  
−
<asm>
+
{| {{Prettytable}}
−
mov ah, 02h
+
! Bit || Signal-Bezeichnung || Info
−
xor dx, dx
+
|-
−
int 17h
+
| 0  || -                  || unbenutzt
 +
|-
 +
| 1  || -                  || unbenutzt
 +
|-
 +
| 2  || -                  || unbenutzt
 +
|-
 +
| 3  || /ERROR            || 0 = Fehler
 +
|-
 +
| 4  || SELECT            || 1 = Drucker ist On-Line (Selected)
 +
|-
 +
| 5  || PE                || 1 = Drucker hat kein Papier mehr (Paper Error)
 +
|-
 +
| 6  || /ACK              || 0 = Drucker ist für nächstes Zeichen bereit (Acknowledge)
 +
|-
 +
| 7  || /BUSY              || 0 = Drucker ist beschäftigt
 +
|}
  
−
test ah, 10000000b ; Bit 7 -> Drucker bereit?
+
Nachfolgend ein kleines Programm, um die Bits zu testen:
−
je error
 
  
−
test ah, 00100000b ; Bit 5 -> Kein Papier mehr?
+
<pre>
−
jne error
+
    mov ah, 02h
 +
    xor dx, dx
 +
    int 17h
 +
 
 +
    test ah, 10000000b ; Bit 7 -> Drucker bereit?
 +
    je error
 +
 
 +
    test ah, 00100000b ; Bit 5 -> Kein Papier mehr?
 +
    jne error
  
 
error:
 
error:
 
     jmp error
 
     jmp error
−
</asm>
+
</pre>
−
 
 
  
 
=== Steuerregister ===
 
=== Steuerregister ===
 
In das Steuerregister kann sowohl gelesen als auch geschrieben werden. Wird das 4. Bit gesetzt, wird ein Interrupt ausgelöst. Wird das 5. Bit gesetzt, ist eine Art bidirektionaler Übertragung möglich.
 
In das Steuerregister kann sowohl gelesen als auch geschrieben werden. Wird das 4. Bit gesetzt, wird ein Interrupt ausgelöst. Wird das 5. Bit gesetzt, ist eine Art bidirektionaler Übertragung möglich.
 +
 +
 +
Die Bits haben folgende Bedeutung:
 +
 +
{| {{Prettytable}}
 +
! Bit || Signal-Bezeichnung || Info
 +
|-
 +
| 0  || /STROBE            || 0 = Daten liegen auf D0 - D7 an
 +
|-
 +
| 1  || AUTO FEED          || 1 = LF nach CR (auto linefeed)
 +
|-
 +
| 2  || /INIT              || 0 = Reset des Druckers herbeiführen
 +
|-
 +
| 3  || SELECT IN          || 1 = Drucker on-line schalten (Select Input)
 +
|-
 +
| 4  || IRQ Enable        || 1 = Interrupt auslösen, wenn /ACK auf 0 geht
 +
|-
 +
| 5  || -                  || unbenutzt
 +
|-
 +
| 6  || -                  || unbenutzt
 +
|-
 +
| 7  || -                  || unbenutzt
 +
|}