★ APPLICATIONS ★ PROGRAMMATION ★ BASIC COMPILER 464 (CPC AMSTRAD INTERNATIONAL) ★ |
Basic Compiler 464 (CPC Amstrad International) | Applications Programmation |
Bascomp ist ein einfacher aber relativ schneller BASIC-Compiler, der in reiner Maschinensprache geschrieben wurde. Er arbeitet nur auf dem 464, da sehr viel Gebrauch von ROM-Routinen gemacht wird. Der Compiler kann nur Integerarithmetik und erlaubt nur Variablennamen, die aus einem Buchstaben bestehen. Einschränkungen sind auch beim STEP-Befehl zu machen, er konnte nicht übernommen werden. Alternativ kann eine gestepte FOR NEXT Schleife mit folgendem kleinen Trick simuliert werden: 10 FOR I = 1 TO Folgende Befehle stehen dem Programmierer zur Verfügung, wobei v eine (integer-) Variable, i eine Variable oder eine Konstante sein kann.
Der Compiler wird mit dem RSX-Befehl: |COMP, mcadr, varadr aufgerufen, wobei mcadr die Adresse für das compilierte Bais Programm beschreibt und varadr den freien Speicherbereich für Zwischenrechnungen des Compilers. Der Wert dieser Adresse errechnet sich aus: ANZAHL DER PROGRAMMZEILEN*7 Fehler im BASIC-Programm werden inklusive der Zeilennummer angegeben. ACHTUNG! Bei einem Fehler wird die Compilation abgebrochen, Das MC-Programm ist unvollständig und läuft noch nicht. Folgender Aufbau gilt generell für alle compilierten Programme: mcadr = mcadr+51 Variablenbereich mcadr+52 Compilat Um unser Demoprogramm auszuprobieren, geben Sie bitte folgendes ein: MEMORY &4FFF: |COMP,&5000,&6003 Das Programm wird compilert CALL &5000+52 Das Programm startet. Probieren Sie ruhig einmal aus, wie sich das Demoprogramm verhält, wenn Sie es einfach mit RUN starten, der Unterschied ist wirklich verblüffend. Databox-Besitzer finden den Datalader auf ihrer Kassette/Diskette. Dieser Datalader muß erst mit RUN gestartet werden, um das Binärteil zu erzeugen. Dieses Binärteil wird dann mit der Laderoutine aus dem Heft (Listing 1) gestartet.
|