Seite 1 von 1

Fehlendes Basic Kommando: SYS

BeitragVerfasst: 13.12.2010, 00:56
von TheChief
Hallo Chef,

ich habe mir die Befehlsreferenz V1.40 zum BasicBeetle angesehen.
Es sind auch Kommandos zum Laden und Speichern von binären Daten oder Maschinensprachprogrammen vorhanden (LOADBIN, SAVEBIN).
Allerdings vermisse ich nun ein Kommando zum Aufruf von Maschinensprachroutinen aus dem Basic-Interpreter heraus.
Im allgemein bekannten Commodore Basic aus den 1980'ern, lautete dieses Kommando SYS <Speicheradresse> und diente zum Aufruf einer Maschinensprachroutine welche durch den Maschinensprachbefehl RTS (ReTurn from Subroutine) wieder beendet werden konnte, was zur Rückkehr in den Basic-Interpreter führte.

Gibt es im Basic Dialekt des BasicBeetle ein vergleichbares Kommando welches ich überlesen habe?

Wenn nicht, dann möchte ich hiermit den Vorschlag machen, dieses Kommando zu implementieren, da ich meinen BasicBeetle gerne auch (teilweise) in Maschinensprache programmieren möchte!


Viele Grüße

Markus

Re: Fehlendes Basic Kommando: SYS

BeitragVerfasst: 13.12.2010, 09:28
von Chef
Die Befehle LOADBIN und SAVEBIN sind nur für Binärdaten. Ein Laden von Maschinenprogramm ist beim Beetle derzeit noch nicht möglich aufgrund 2 Umstände:

1. Ist der Flash des ATM162 zu 99,99% voll (Noch 4 Byte frei), also würde dort eh nix mehr gehen. (EEPROM 100%, Interner RAM 100% falls es jemanden interessiert ;) ).

2. Der AVR hat eine Harvard Architektur. Dies bedeutet, dass er einen festen Programmspeicher und Arbeitsspeicher hat. Es können Programme nur im Programmspeicher ausgeführt werden. Beim C64 (Sinclair Spectrum, Amstrad CPC, Acorn BBS und auch der PC) sind Rechner mit Neumann-Struktur. Hier sind Programmspeicher und Datenspeicher im gleichen Bereich. Man kann also sowohl Programme als auch Daten laden.

Dieses Problem soll aber in einer der nächsten Generationen gelöst werden. Ich plane den Einbau von so genannten X-Befehlen, wodurch man seine eigene Routine als Basic-Befehl einbinden kann.

Chef :D

Re: Fehlendes Basic Kommando: SYS

BeitragVerfasst: 13.12.2010, 09:36
von andre07
...closed