INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Roland ich kann nur einen Fehler entdecken. Das Setzen von PTA1 auf logisch "high"... bclr #0,$00 ;Das setzt PTA0 auf logisch low! bset #1,$04 ;Als Ausgang definieren ...ist nicht korrekt. "PTA1" ist Bit Nummer 1 im 8-Bit-Datenregister PORTA. Deshalb... bset #1,$00 ;Ausgang PTA1 auf logisch high setzen bset #1,$04 ;Als Ausgang definieren Ansonsten könnte man den Code noch besser optimieren. Im vorliegenden Fall könnte man den Schleifenzähler in einem der beiden Register der CPU, Akkumulator (a) oder Index-Register (x), speichern. Besonders für Assemblerprogramme sind 5 Bytes im RAM an Adresse $e6 bis $ea frei. Das Betriebssystem der OM übergibt dem Assemblerprogramm im x-Register die Anfangsadresse dieses Bereichs ($e6). Im OCBASIC-Compiler lassen sich die 5 Bytes von BASIC aus mit Hilfe der internen Variablen FREERAM1 bis FREERAM5 ansprechen. Dietmar Meine Homepage: http://ccintern.dharlos.de |
Antwort schreiben |