Code: Alles auswählen
Jeder Befehl ist zwischen 1 word und 2 long's lang.
Der Programmcode beginnt ab adresse 0300 und endet bei 7FF7.
32 Strings sind max. 255Byte + 0x00 lang davon sind genau 26 direckt ansprechbar der rest ist internen Funktionen vorbehalten
32 Strings sind max. 255Byte lang mit Längenangabe davon sind genau 26 direckt ansprechbar der rest ist internen Funktionen vorbehalten
prog.long[0] 1.long
' = byte[0]+byte[1] Befehl
' = byte[2]+byte[3] Argument 1
prog.long[4] 2.long
' = byte[4]+byte[5] Argument 2 + als 32Bit Argument
' = byte[6]+byte[7] Argument 3 +
prog.long[8]...
0 1 2 3 4 5 6 7 8 9 A B C D E F
long x,x, x,x, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0
Variabeln sind immer ein long lang egal was für ein Typ sich dahinter verbirgt.
bit1.long[0000]
'a b c d e f g h i j k l m n o p q r s t u v w x y z (interne Variabeln oder Zeiger)
long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0
bit8.long[0080]
'a b c d e f g h i j k l m n o p q r s t u v w x y z
long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0
bit16.long[0100]
'a b c d e f g h i j k l m n o p q r s t u v w x y z
long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0
bit32.long[0180]
'a b c d e f g h i j k l m n o p q r s t u v w x y z
long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0
text1.long[0200] --> Zeiger in den eRAM 0 therminiert
'a b c d e f g h i j k l m n o p q r s t u v w x y z (Zeiger auf Externen Ram jede Variable=255 Byte)
long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0
text2.long[0280] --> Zeiger in den eRAM mit Längenangabe Es können dadurch auch $0 übertragen werden.
'a b c d e f g h i j k l m n o p q r s t u v w x y z (Zeiger auf Externen Ram jede Variable=255 Byte)
long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0
frei.long[0300]...[7FF7]
addr.long[7FF8]
Adresse des Programmspeichers dient zur syncronisation der COG's
1.) Adresse lesen
2.) Abarbeiten
ja Neue adresse schreiben
nein warten auf neue Adresse
status.long[7FFC]
Sreuerregiste zum steuern der Runtimmodule
$0000_0000 = Go/COUNT
$0000_0001 = STOP
$7F7F_F7F7 = INIT/RUN
$FFFF_FFFF = Stop/END