Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 FwPutSci Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von GeKü - 7.11.2010 17:40)
GeKü nutzt:  Open-Macro
Hallo Dietmar,

habe mir mit folgendem Programm geholfen, welches Du sicherlich eleganter hast - oder hinbekommst:
   Subroutine: Binaerausgabe eines Akku-Wertes, keine Änderung von Registern
'-----------------------------------------------------------------------------------------------------
 #FwPutBin    'Wert im Akku als Binaerzahl im Terminalprogramm ausgeben mit LF&CR
   ! PSHX                     ' X retten
    ! PSHA                     ' Akku retten
    ! LDA #"&"
    ! JSR FwPutSci             ' OMAC-Def-Datei
    ! LDA #"B"                 ' "&B" ausgeben
    ! JSR FwPutSci             '
   ! PULA                     ' Akku restaurieren
   ! LDX #8                   ' Zähler
   #FwPUTBin_Loop
   ! PSHX                     ' Rette X vor FwPutSci
   ! ROLA                     ' links Shift, setzt Cary, restauriert A
    ! PSHA                     ' Rette Akku
    ! LDA #0                  ' Setze Akku auf 0 ohne Carry-Änderung
    ! ADC #48                   ' Addiere Carry dazu
    ! JSR FwPutSci             ' gibt Ziffer 0 o. 1 aus
    ! PULA                     ' restauriere Akku
    ! PULX                     ' restauriere X
    ! DBNZX FwPUTBin_Loop
   ! JSR LF_CR                 ' Zeilenvorschub&Zeilenanfang
   #weiter
   ! PULX                     'Bringe X wieder in alten Zustand
   ! RTS
'---------------------------------------------------------------------
'     Zeilenvorschub & Wagenrücklauf (Line Feed & Carriage Return)
'----------------------------------------------------------------------
    #LF_CR
    ! PSHA                     ' Rette Akku
    ! LDA #10                  ' Line Feed
    ! JSR FwPutSci             '
    ! LDA #13                  ' Cariage Return
    ! JSR FwPutSci             '
    ! PULA                     'Bringe A wieder in alten Zustand
    ! RTS
'--------------------------------
Schau bitte mal den FwPutSci-Befehl an. Ich vermute, der ändert X. Zumindest klappt in obiger Routine die DBNZX-Schleife nur, wenn ich das X-Register nach dem FwPutSci-Einsprung wieder rette.

Hier regnet es - dunkel ist's auch - also beste Zeit mit Deinem Baby zu spielen...

Beste Grüße, GeKü

 Antwort schreiben

Bisherige Antworten: