Hallo Besucher, der Thread wurde 1,9k mal aufgerufen und enthält 5 Antworten

letzter Beitrag von Hucky am

Fehlerkanal auslesen in Assembler

  • Tach !


    Wer hat das schon gemacht ?


    Open 15,8,15 ist nicht das Problem


    Input#aa,bb$,cc,dd kann ich irgendwie nicht umsetzen.


    Mit der FFE4-Routine funktioniert es irgendwie nicht so richtig :(


    Wer weiß Rat ?


    mfG Hucky

  • Also, ich habe das auch schon (öfters) gemacht, kann das jetzt aber nur etwas schlampig nach den gerade vorhandenen Unterlagen schildern:


    1. Parameter für OPEN setzen (Filenummer beliebig, Sekundäradresse 15, Länge Filename $B7=0, da nur lesen)
    2. $F34A OPEN
    3. geöffnete Filenummer in Register x, Kanal für Input öffnen CHKIN $F20E
    4. Loop Input aufnehmen, CHRIN $F157. Die Bytes legt man am besten irgendwo ab, bis der Status $90 <> 0 ist.
    5. geöffnete Filenummer in akku, File schließen $ F291
    6. alle I/O Files schließen und normalisieren, F32F


    Bei Punkt 5-6 bin ich mir jetzt nicht so sicher, da ich in meinem Fall den Fehlerkanal nur auslese, wenn Probleme registriert werden und alle laufenden Operationen abbreche. Punkt 6 kann also wahrscheinlich entfallen.

  • wenn du die Meldung einfach nur ausgeben willst, kannst du diese routine nehmen:


    lda #1 ;log. fn
    ldx #8 ;dv
    ldy #15 ; sek.
    jsr $ffba
    lda #0 ;kein name
    jsr $ffbd
    jsr $ffc0 ; open
    ldx #1 ;log. fn
    jsr $ffc6 ;chkin
    loop jsr $ffcf ;input
    jsr $ffd2 ;output
    bit $90 ;statuts testen
    bvc loop
    jsr $ffcc ;clrch
    lda #1
    jsr $ffc3 ;close
    rts

  • Mal probieren. Danke...


    Ich hatte es ziemlich identisch. Ich habe es allerdings mit $FFE4 (Get) anstatt $FFCF probiert.
    mfG Hucky