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 

 Compiler für BASIC-nach-Maschinensprache auf der OM Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 8.02.2020 23:29)
 Als Antwort auf Neuigkeiten von Dietmar - 25.06.2005 10:00
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station
Hallo an alle Besitzer eines OM-Controllers!

Ich habe dem echten OCBASIC-Compiler OCBASR jetzt auch die Open-Macro und die Open-Maxi hinzugefügt. Damit werden nun alle OM-Controller von OCBASR unterstützt. Enthalten sind auch zwei automatische Programmtests ("Testsuite") für diese beiden OM-Controller.

Hier etwas Erklärung, für alle, die OCBASR noch nicht kennen:

Um BASIC-Programme noch weiter zu beschleunigen, habe ich für die OM-Controller einen Compiler namens OCBASR geschrieben, mit dem der Anwender BASIC-Quellcode sehr komfortabel in Maschinensprache, bzw. Assembler, umwandeln kann. Der Standard-Compiler OCBASIC übersetzt bekanntlich BASIC-Quellcode in Tokencode, der vom Interpreter in der OM ausgeführt wird. Gegenüber diesem interpretiertem Tokencode wird die vom Compiler OCBASR erzeugte Maschinensprache erheblich schneller ausgeführt.

Und dabei ist die Benutzung des neuen Compilers denkbar einfach. Zur Installation muß man einfach das Programm OCBASR32.EXE in das Verzeichnis kopieren, in dem schon OCBAS32.EXE steht, und in ConTEXT bei den Benutzerbefehlen "OCBAS32.EXE" durch "OCBASR32.EXE" ersetzen. Nun wird der BASIC-Compiler OCBASR statt OCBASIC gestartet.

Noch einfacher ist es, BASIC-Quellcode in Assemblercode, bzw. Maschinensprache übersetzen zu lassen. Der zu beschleunigende Code muß in einer Subroutine oder in einer Funktion stehen. Wird hinter die Startzeile dieser Subroutine oder Funktion das Schlüsselwort COMPILE angefügt, wird der OCBASR-Compiler aktiv und übersetzt den in ihr stehenden BASIC-Sourcecode in die Maschinensprache. Dieser Programmteil wird nun üblicherweise 3 bis 4 mal schneller ausgeführt. Einige BASIC-Befehle sind sogar 10 bis 20 mal schneller. Siehe folgendes Beispiel.

INCLUDE "omax.def"

DEFINE a,b,c BYTE

subroutine
PRINT funktion(5,8)
END

PROCEDURE subroutine COMPILE
  PRINT "Hallo, hier ist eine Subroutine in Maschinensprache!"
  RETURN
END PROCEDURE

FUNCTION funktion(a,b) COMPILE
  FOR c=a TO b
    PRINT c
  NEXT c
  RETURN 123
END FUNCTION

Bei der Entwicklung des BASIC-Compilers OCBASR stand vor allem die sehr einfache Benutzung im Vordergrund. Der Anwender braucht nur das Schlüsselwort COMPILE an den Namen eines Unterprogramms anzuhängen, um sein Programm zu beschleunigen. Es läßt sich so gut wie jeder BASIC-Befehl in Maschinensprache übersetzen und er führt interpretiert wie compiliert zum gleichen Ergebnis.

Viel Spaß und Erfolg mit den OM-Mikrocontrollern!

Dietmar

Passender Link: OCBASR auf der OM-Infosite

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten: