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 

 Re: Schleifenprogrammierung in Assembler für Open Mini Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 6.10.2005 1:50)
 Als Antwort auf Schleifen Programmierung in Assembler für Open Mini von Roland - 5.10.2005 20:10
Dietmar nutzt:  CC1-M-Unit V1.1, Advanced CC1-Unit, Open-Micro, Open-Mini

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

Bisherige Antworten: