HBasic

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Benutzeravatar
PIC18F2550
Beiträge: 2851
Registriert: Fr 30. Sep 2011, 13:08

Re: HBasic

Beitrag von PIC18F2550 »

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.
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
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: HBasic

Beitrag von drohne235 »

In den ersten vier Zeilen (ich vermute du meinst die Codezeilen) steht das:

Code: Alles auswählen

  a:=dira
  b:=outa
  ios.print(String($D, "dira ->"))
  ios.printbin(a>> 0 & $FF ,8)
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.
"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
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: HBasic

Beitrag von drohne235 »

Läuft doch alles super... :DAUMENHOCH :LACHEN

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
IMG_0851.JPG
"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
Benutzeravatar
PIC18F2550
Beiträge: 2851
Registriert: Fr 30. Sep 2011, 13:08

Re: HBasic

Beitrag von PIC18F2550 »

Sorry hab da wol ein paar bits vertauscht :cry:
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)
jetzt stimmt der SPINN-Teil auch nur der PASM Teil muss noch mal überarbeitet werden.
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
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: HBasic

Beitrag von drohne235 »

Sorry hab da wol ein paar bits vertauscht :cry:
Quatsch, das war nur ein unbewußer Verschlüsslungscode! :EIEI

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
Benutzeravatar
PIC18F2550
Beiträge: 2851
Registriert: Fr 30. Sep 2011, 13:08

Re: HBasic

Beitrag von PIC18F2550 »

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. :KOTZEN
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
Benutzeravatar
PIC18F2550
Beiträge: 2851
Registriert: Fr 30. Sep 2011, 13:08

Re: HBasic

Beitrag von PIC18F2550 »

Habe mal den Quellcode weiter minimiert dabei binn ich auf ein seltsamen effekt gestoßen den ich mir nicht Erklären kann.

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
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.
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
Benutzeravatar
PIC18F2550
Beiträge: 2851
Registriert: Fr 30. Sep 2011, 13:08

Re: HBasic

Beitrag von PIC18F2550 »

Ich glaube ich habe gerade die erklärung gefunden im Propellerhandbuch v1.1 S27.

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
Ich denke immernoch zuviel Z80 :x
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
Benutzeravatar
PIC18F2550
Beiträge: 2851
Registriert: Fr 30. Sep 2011, 13:08

Re: HBasic

Beitrag von PIC18F2550 »

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.

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
so und als nächstes kommt meine runtime drann.
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
Benutzeravatar
PIC18F2550
Beiträge: 2851
Registriert: Fr 30. Sep 2011, 13:08

Re: HBasic

Beitrag von PIC18F2550 »

:twisted: solangsam wirrd mann ganz IRRE :LACHEN
aber jetzt geht es :SCHREIEN

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
drohne235 dein SRAM scheind etwas schneller zu sein als meine Krücken. :evil:
Zum Zeitpunkt des lesens war da einfach noch nicht's :TIPPEN
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
Antworten