
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
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 |