HBasic
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: HBasic
Schau dir mal die ersten 4 Zellen an hier ist nur der SPIN Code aktiv.
Ich werde heute Abend mal das reg-ios näher anschauen.
Ich werde heute Abend mal das reg-ios näher anschauen.
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- drohne235
- Administrator
- Beiträge: 2284
- Registriert: So 24. Mai 2009, 10:35
- Wohnort: Lutherstadt Wittenberg
- Kontaktdaten:
Re: HBasic
In den ersten vier Zeilen (ich vermute du meinst die Codezeilen) steht das:
Da ist nichtmal sichtbar, ob das das Fragment einer Routine ist, wie das ios initialisiert wurde, ob noch andere COG's gestartet wurden - was man anhand der Meldung "Runtime 0 running" auf dem Screenshot ja vermuten muss... Poste doch einfach mal den kompletten Testcode, dann kann man das testen und nachvollziehen und muss nicht rätseln.
Code: Alles auswählen
a:=dira
b:=outa
ios.print(String($D, "dira ->"))
ios.printbin(a>> 0 & $FF ,8)
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
- drohne235
- Administrator
- Beiträge: 2284
- Registriert: So 24. Mai 2009, 10:35
- Wohnort: Lutherstadt Wittenberg
- Kontaktdaten:
Re: HBasic
Läuft doch alles super...



Code: Alles auswählen
CON
_CLKMODE = XTAL1 + PLL16X
_XINFREQ = 5_000_000
OBJ
ios : "reg-ios"
pub main | a1,b1,a2,b2
ios.start
a1:=dira
b1:=outa
ios.print(string($0d,"Teststring"))
a2:=dira
b2:=outa
ios.printnl
print_dira(a1)
print_dira(a2)
ios.printnl
print_outa(b1)
print_outa(b2)
repeat
pri print_dira(n)
ios.print(String($D, "dira ->"))
ios.printbin(n>>24 & $FF ,8)
ios.print(String("_"))
ios.printbin(n>>16 & $FF ,8)
ios.print(String("_"))
ios.printbin(n>>08 & $FF ,8)
ios.print(String("_"))
ios.printbin(n>>00 & $FF ,8)
pri print_outa(n)
ios.print(String($D, "outa ->"))
ios.printbin(n>>24 & $FF ,8)
ios.print(String("_"))
ios.printbin(n>>16 & $FF ,8)
ios.print(String("_"))
ios.printbin(n>>08 & $FF ,8)
ios.print(String("_"))
ios.printbin(n>>00 & $FF ,8)
- Dateianhänge
-
- test2.rar
- (352 Bytes) 534-mal heruntergeladen
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: HBasic
Sorry hab da wol ein paar bits vertauscht
habe den gesamten Testkram gelöscht und neu aufgesetzt.jetzt stimmt der SPINN-Teil auch nur der PASM Teil muss noch mal überarbeitet werden.

habe den gesamten Testkram gelöscht und neu aufgesetzt.
Code: Alles auswählen
CON
_clkmode = xtal1+pll16x
_xinfreq = 5_000_000
OBJ
ios : "reg-ios"
PUB main|a1,b1,a2,b2,a3,b3,a4,b4
ios.start
a1:=dira
b1:=outa
ios.printcls
a2:=dira
b2:=outa
ios.print(string("Test(PIC18F2550)"))
a3:=dira
b3:=outa
' ios.ram_wrlong(0,$0008_4638,$7f00) '<-- Testobjekte
long[$7f00]:=ios.ram_rdlong(0,$7f00) '<-- Testobjekte
a4:=dira
b4:=outa
ios.print(String($D," +----------------------------- /hs"))
ios.print(String($D," |+---------------------------- /wr"))
ios.print(String($D," ||+--------------------------- busclk"))
ios.print(String($D," |||+-------------------------- hbeat"))
ios.print(String($D," ||||+------------------------- al"))
ios.print(String($D," |||||+------------------------ /bel"))
ios.print(String($D," ||||||+----------------------- /adm"))
ios.print(String($D," |||||||+---------------------- /ram2"))
ios.print(String($D," ||||||||+--------------------- /ram1"))
ios.print(String($D," ||||||||| +--------- a0..10"))
ios.print(String($D," ||||||||| | +- d0..7"))
ios.print(String($D," |||||||||+----------++------+"))
ios.print(String($D," %0000000000000aaaaaaaaaaadddddddd"))
list(a1,b1)
list(a2,b2)
list(a3,b3)
list(a4,b4)
ios.print(String($D," %0000000000000aaaaaaaaaaadddddddd"))
PRI list(a,b)
ios.print(String($D, "dira ->"))
ios.printbin(a,32)
ios.print(String($D, "outa ->"))
ios.printbin(b,32)
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- drohne235
- Administrator
- Beiträge: 2284
- Registriert: So 24. Mai 2009, 10:35
- Wohnort: Lutherstadt Wittenberg
- Kontaktdaten:
Re: HBasic
Quatsch, das war nur ein unbewußer Verschlüsslungscode!Sorry hab da wol ein paar bits vertauscht![]()

Müssen mehrere PASM-Cores vom Basic gleichzeitig auf den Bus bzw. die Slaves zugreifen? In diesem Fall mußt du gleich für eine Verriegelung per Semaphore sorgen. In PropForth hab ich das auch schon teilweise durchgespielt damals: http://hive-project.de/content/1983#more-1983 In m habe ich das nicht vorgesehen: der "Mastercore" übernimmt die Busarbeit, die "Slavecores" in Regnatix werden nur zuarbeiten können. Das hält den Code schlank und einfach, Systemweites Multitasking auf Anwendungsebene wird da schnell sehr komplex.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: HBasic
Nur die Runtime0, wird auf dem Bus unterwegs sein.
Er übernimmt die gesammte kommunikation zu Administra Bellatrix und dem externen Ram.
Die Buskommunikation zu Bellatrix funktioniert nur der Ram ließt immer nur $00.
Werd morgen weiter machen.
Er übernimmt die gesammte kommunikation zu Administra Bellatrix und dem externen Ram.
Die Buskommunikation zu Bellatrix funktioniert nur der Ram ließt immer nur $00.
Werd morgen weiter machen.

Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: HBasic
Habe mal den Quellcode weiter minimiert dabei binn ich auf ein seltsamen effekt gestoßen den ich mir nicht Erklären kann.In diesen Beispiel wird das Pin 1 vom CBUS (/WR) auf logisch H geschaltet.
Wenn ich aber die auskommentierte Zeile "' bus_init " ohne hochkomma verwende wird Pin 1 vom CBUS (/WR) nicht mehr auf logisch H geschaltet.
Kann mir einer sagen warum und wie kann ich das verhalten verhindern.
Code: Alles auswählen
CON
_clkmode = xtal1+pll16x
_xinfreq = 5_000_000
PUB main
' bus_init '<-- Problem
cognew(@runtime, 0)
repeat
DAT{{Runtime COG***********************************************************************************}}
runtime
org 0
' ---------------------------------------------------------------------
' mov sprvm, SPRV 'Bytecode Merken
'INI0 rdlong temp1, stat 'status laden
' cmp temp1, h7F7FF7F7 wz
' if_nz jmp #INI0 'Test auf inifreigabe ><h7F7FF7F7 = Stop =h7F7FF7F7 = Start
' ---------------------------------------------------------------------
' Load Programm vom externen Ram
mov dira, dinp ' Bus auf eingang setzen (Grundstellung)
and outa, dclr
' andn outa, _wr 'WR --> L
or outa, _wr 'WR --> H
KKKK jmp #KKKK
dinp long %00000111_11111111_11111111_00000000 ' bus input
dclr long %11111100_01111000_00000000_00000000 ' bus löschen
_wr long %00000100_00000000_00000000_00000000 ' /wr bitmaske
PUB bus_init 'bus: initialisiert bussystem
{{bus_init - bus: initialisierung aller bussignale }}
dira := db_in ' datenbus auf eingabe schalten
outa[bus_wr] := 1 ' schreiben inaktiv
outa[reg_ram1] := 1 ' ram1 inaktiv
outa[reg_ram2] := 1 ' ram2 inaktiv
outa[reg_prop1] := 1 ' prop1 inaktiv
outa[reg_prop2] := 1 ' prop2 inaktiv
outa[busclk] := 0 ' busclk startwert
outa[reg_al] := 0 ' strobe aus
outa[18..8] := 0 ' adresse a0..a10 auf 0 setzen
outa[23] := 1 ' obere adresse in adresslatch übernehmen
outa[23] := 0
CON
DB_IN = %00000111_11111111_11111111_00000000 'maske: dbus-eingabe
'signaldefinition regnatix
#0, D0,D1,D2,D3,D4,D5,D6,D7 'datenbus
#8, A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10 'adressbus
#19, REG_RAM1,REG_RAM2 'selektionssignale rambank 1 und 2
#21, REG_PROP1,REG_PROP2 'selektionssignale für administra und bellatrix
#23, REG_AL 'strobesignal für adresslatch
#24, HBEAT 'front-led
BUSCLK 'bustakt
BUS_WR '/wr - schreibsignal
BUS_HS ' '/hs - quittungssignal
Wenn ich aber die auskommentierte Zeile "' bus_init " ohne hochkomma verwende wird Pin 1 vom CBUS (/WR) nicht mehr auf logisch H geschaltet.
Kann mir einer sagen warum und wie kann ich das verhalten verhindern.
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: HBasic
Ich glaube ich habe gerade die erklärung gefunden im Propellerhandbuch v1.1 S27.
Das braucht etwas mehr Umstellung damit alles läuft.
Ich denke immernoch zuviel Z80 
Das braucht etwas mehr Umstellung damit alles läuft.
Code: Alles auswählen
CON
_clkmode = xtal1+pll16x
_xinfreq = 5_000_000
PUB main
bus_init
dira:=0
cognew(@runtime, 0)
' repeat 1000 'kleine zeitschleife
' dira := db_in 'datenbus auf eingabe schalten aktiv
' ...
' dira := 0 'Vom Bus abmelden
DAT{{Runtime COG***********************************************************************************}}
runtime
org 0
' Bus auf eingang setzen (Grundstellung)
mov dira, #$0 'Vom Bus abmelden
mov outa, clr
' ---------------------------------------------------------------------
' mov sprvm, SPRV 'Bytecode Merken
'INI0 rdlong temp1, stat 'status laden
' cmp temp1, h7F7FF7F7 wz
' if_nz jmp #INI0 'Test auf inifreigabe ><h7F7FF7F7 = Stop =h7F7FF7F7 = Start
' ---------------------------------------------------------------------
' Load Programm vom externen Ram
mov dira, dinp 'Busübernahme
' andn outa, _wr 'WR --> L
or outa, _wr 'WR --> H
KKKK jmp #KKKK 'Programm ausführen
mov dira, #$0 'Vom Bus abmelden
'KKKK jmp #KKKK 'Programm ausführen
dinp long %00000111_11111111_11111111_00000000 ' bus input
clr long %00001100_01111000_00000000_00000000 ' bus löschen
_wr long %00000100_00000000_00000000_00000000 ' /wr bitmaske
PUB bus_init 'bus: initialisiert bussystem
{{bus_init - bus: initialisierung aller bussignale }}
dira := 0 ' Bus inaktiv
outa[bus_wr] := 1 ' schreiben inaktiv
outa[reg_ram1] := 1 ' ram1 inaktiv
outa[reg_ram2] := 1 ' ram2 inaktiv
outa[reg_prop1] := 1 ' prop1 inaktiv
outa[reg_prop2] := 1 ' prop2 inaktiv
outa[busclk] := 0 ' busclk startwert
outa[reg_al] := 0 ' strobe aus
outa[18..8] := 0 ' adresse a0..a10 auf 0 setzen
outa[23] := 1 ' obere adresse in adresslatch übernehmen
outa[23] := 0
CON
DB_IN = %00000111_11111111_11111111_00000000 'maske: dbus-eingabe
'signaldefinition regnatix
#0, D0,D1,D2,D3,D4,D5,D6,D7 'datenbus
#8, A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10 'adressbus
#19, REG_RAM1,REG_RAM2 'selektionssignale rambank 1 und 2
#21, REG_PROP1,REG_PROP2 'selektionssignale für administra und bellatrix
#23, REG_AL 'strobesignal für adresslatch
#24, HBEAT 'front-led
BUSCLK 'bustakt
BUS_WR '/wr - schreibsignal
BUS_HS ' '/hs - quittungssignal

Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: HBasic
Habe ersteinmal die wichtigen Teile von reg-ios in eine neue Datei Kopiert und geändert damit diese mit meiner runtim zusammen den Bus nutzen können.so und als nächstes kommt meine runtime drann.
Code: Alles auswählen
CON 'Signaldefinitionen
'signaldefinition regnatix
#0, D0,D1,D2,D3,D4,D5,D6,D7 'datenbus
#8, A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10 'adressbus
#19, REG_RAM1,REG_RAM2 'selektionssignale rambank 1 und 2
#21, REG_PROP1,REG_PROP2 'selektionssignale für administra und bellatrix
#23, REG_AL 'strobesignal für adresslatch
#24, HBEAT 'front-led
BUSCLK 'bustakt
BUS_WR '/wr - schreibsignal
BUS_HS ' '/hs - quittungssignal
db_in = %00000111_11111111_11111111_00000000 'maske: dbus-eingabe
db_out = %00000111_11111111_11111111_11111111 'maske: dbus-ausgabe
PUB bus_init 'bus: initialisiert bussystem
{{bus_init - bus: initialisierung aller bussignale }}
dira := 0 ' Bus deaktivieren
outa[bus_wr] := 1 ' schreiben inaktiv
outa[reg_ram1] := 1 ' ram1 inaktiv
outa[reg_ram2] := 1 ' ram2 inaktiv
outa[reg_prop1] := 1 ' prop1 inaktiv
outa[reg_prop2] := 1 ' prop2 inaktiv
outa[busclk] := 0 ' busclk startwert
outa[reg_al] := 0 ' strobe aus
outa[18..8] := 0 ' adresse a0..a10 auf 0 setzen
outa[23] := 1 ' obere adresse in adresslatch übernehmen
outa[23] := 0
' dira := db_in ' datenbus auf eingabe schalten
' dira := db_out ' datenbus auf ausgabe schalten
PUB ram_rdbyte(adresse):wert 'eram: liest ein byte vom eram
{{ram_rdbyte(adresse):wert - eram: ein byte aus externem ram lesen}}
'rambank 1 000000 - 07FFFF
'rambank 2 080000 - 0FFFFF
'der gesamte speicher (2 x 512 KB) werden durchgängig adressiert
outa[15..8] := adresse >> 11 'höherwertige adresse setzen
outa[23] := 1 'obere adresse in adresslatch übernehmen
outa[23] := 0
outa[18..8] := adresse 'niederwertige adresse setzen
dira := db_in 'datenbus auf eingabe schalten
if adresse < $080000 'rambank 1?
outa[reg_ram1] := 0 'ram1 selektieren (wert wird geschrieben)
else
outa[reg_ram2] := 0 'ram2 selektieren (wert wird geschrieben)
wert := ina[7..0] 'speicherzelle einlesen
outa[reg_ram1] := 1 'ram1 deselektieren
outa[reg_ram2] := 1 'ram2 deselektieren
dira := 0 'Bus deaktivieren
PUB ram_wrbyte(wert,adresse) 'eram: schreibt ein byte in eram
{{ram_wrbyte(wert,adresse) - eram: ein byte in externen ram schreiben}}
'rambank 1 000000 - 07FFFF
'rambank 2 080000 - 08FFFF
'der gesamte speicher (2 x 512 KB) werden durchgängig adressiert
outa[bus_wr] := 0 'schreiben aktivieren
outa[7..0] := wert 'wert --> datenbus
outa[15..8] := adresse >> 11 'höherwertige adresse setzen
outa[23] := 1 'obere adresse in adresslatch übernehmen
outa[23] := 0
outa[18..8] := adresse 'niederwertige adresse setzen
dira := db_out ' datenbus auf ausgabe schalten
if adresse < $080000 'rambank 1?
outa[reg_ram1] := 0 'ram1 selektieren (wert wird geschrieben)
else
outa[reg_ram2] := 0 'ram2 selektieren (wert wird geschrieben)
outa[reg_ram1] := 1 'ram1 deselektieren
outa[reg_ram2] := 1 'ram2 deselektieren
outa[bus_wr] := 1 'schreiben deaktivieren
dira := 0 'Bus deaktivieren
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2851
- Registriert: Fr 30. Sep 2011, 13:08
Re: HBasic


aber jetzt geht es

Code: Alles auswählen
'---------------------------------------------------------------------
' eRam
' nop befehle damit SRAM genug zeit hat aufgabe zu erledigen:)
' temp1 Daten
' temp2 Adresse
' temp3 temp
'---------------------------------------------------------------------
eRamWB ' byte schreiben
mov outa, clr
mov dira, dout
call #setadr
and temp1, #$FF
or outa, temp1
andn outa, _wr
andn outa, _ram1
nop '<< sehr wichtig
nop '<< sehr wichtig
or outa, _ram1
mov outa, clr
mov dira, #$0
eRamWB_ret ret
'---------------------------------------------------------------------
eRamRB ' byte lesen
mov outa, clr
mov dira, dinp
call #setadr
andn outa, _ram1
nop '<< sehr wichtig
mov temp1, ina
and temp1, #$FF
or outa, _ram1
or outa, _ram2
mov outa, clr
mov dira, #$0
eRamRB_ret ret
'---------------------------------------------------------------------
setadr ' adresse verarbeiten
'hwt-adresse --> latch
mov temp3, temp2
shr temp3, #3
and temp3, _latch
or outa, temp3
or outa, _la
nop '<< sehr wichtig
andn outa, _la
mov outa, clr
' nwt-adresse setzen
mov temp3, temp2
shl temp3, #8
and temp3, _adr
or outa, temp3
setadr_ret ret
'---------------------------------------------------------------------
' +------------------------------- /hs
' |+------------------------------ /wr
' ||+----------------------------- busclk
' |||+---------------------------- hbeat
' |||| +-------------------------- al
' |||| |+------------------------- /bel
' |||| ||+------------------------ /adm
' |||| |||+----------------------- /ram2
' |||| ||||+---------------------- /ram1
' |||| ||||| +---------- a0..10
' |||| ||||| |
' |||| ||||| | +- d0..7
' |||| |||||+----------+ +------+
'port long %00000000_00000aaa_aaaaaaaa_dddddddd ' a: adr, d: daten'Konstanten
dinp long %00000111_11111111_11111111_00000000 ' bus input
dout long %00000111_11111111_11111111_11111111 ' bus output
clr long %00001100_01111000_00000000_00000000 ' bus löschen
_la long %00000000_10000000_00000000_00000000 ' /la bitmaske
_wr long %00000100_00000000_00000000_00000000 ' /wr bitmaske
_ram1 long %00000000_00001000_00000000_00000000 ' /ram1 bitmaske
_ram2 long %00000000_00010000_00000000_00000000 ' /ram2 bitmaske
_latch long %00000000_00000000_11111111_00000000 ' latch bitmaske
_s1 long %00000100_01111000_00000000_00000000 ' bus inaktiv
_b1 long %00000000_00111000_00000000_00000000 ' adm=1, bel=0, wr=0, busclk=0
_b2 long %00000010_00111000_00000000_00000000 ' adm=1, bel=0, wr=0, busclk=1
_b3 long %00000110_00111000_00000000_00000000 ' adm=1, bel=0, wr=1, busclk=1
_a1 long %00000000_01011000_00000000_00000000 ' adm=0, bel=1, wr=0, busclk=0
_a2 long %00000010_01011000_00000000_00000000 ' adm=0, bel=1, wr=0, busclk=1
_a3 long %00000110_01011000_00000000_00000000 ' adm=0, bel=1, wr=1, busclk=1
_hs long %00001000_00000000_00000000_00000000 ' hs=1?
_adr long %00000000_00000111_11111111_00000000 ' adrbus bistmaske
'---------------------------------------------------------------------
h7F7FF7F7 long $7F7FF7F7 '32 bitmaske für LOAD SYSTEM von externen Ram (STATUS)
'---------------------------------------------------------------------
'Konstanten
rtnr long $0 'dient zum identifizieren der verschiedenen Runtimemodule
h00000000 long $0 '0
h00000001 long $1 ' STOP-Statusmeldung
h00007f00 long $7F00
h0000ffff long $FFFF '16 bit Lowmaske
'Variabeln
sprvm long 0 'Merker Bytecode SPRVM
stat long $7FFC 'Zeiger auf Statusregister
areg long $7FF8 'Zeiger auf nächsten Befehl im hRAM
line long 0 'Merker line Nummer
code long 0 'Tockencode
arg1 long 0 'Tokenargument 1
arg23 long 0 'Longargument
arg2 long 0 'Tokenargument 2
arg3 long 0 'Tokenargument 3
temp1 long 0 'Merker
temp2 long 0 'Merker
temp3 long 0 'Merker

Zum Zeitpunkt des lesens war da einfach noch nicht's

Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo