|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 |
:mainloop set a, 1 ; Keyboard Interrupt abrufen hwi [KEYBOARD] ; c wird hier überschrieben ife c, 0 ; Es wurde keine Taste gedrückt set pc, mainloop ; Sprung zurück ife c, 0x0031 set pc, otherprogrammpart set pc mainloop ; No Exit! |
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
:LoopCnt
dat 0
:LoopCntMax
dat 100
:mainloop
set a, [LoopCnt] ; Loop Variable Speichern
add a, 1 ; a=a+1 -> a++;
set [LoopCnt] , a ; Loop Variable zurück Speichern
set c, [LoopCntMax] ; Loop Max Speichern
ife a, c ; alle LoopCntMax Durchläufe wird das Programm „systemloop” aufgerufen
jsr systemloop
set a, 1 ; Keyboard Interrupt abrufen
hwi [KEYBOARD] ; c wird hier überschrieben
ife c, 0 ; Es wurde keine Taste gedrückt
set pc, mainloop ; Sprung zurück
ife c, 0x0031
set pc, otherprogrammpart
set pc mainloop ; No Exit!
: systemloop
; Hier können systemrelevante Aufgaben ausgeführt werden.
; zB bei einen Angriff Schilde ausfahren oder Warnungen ausgeben.
set pc, pop ; Return zur aktuellen Eingabeschleife
|
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »The_Real_Black« (28. Oktober 2012, 13:36)
Tja, beim DCPU ist es viel einfacher ein OS zu programmieren als z.B. beim i386, irgendwie will ich jetzt ein OS für den DCPU programmieren
Ebenso muss kein direktes Threading implementiert werden mit der oben angedeuteten Schleife kann dies auch erreicht werden.
Na ja, wenn ich mir mal den Bootloader-Schit von ganz einfachen Programmen auf dem i386 wie deinem angucke, sind zumindest so Mini-Dinger auf dem DCPU deutlich einfacher
Wer nicht?
OK, ich glaube für ein Linux hat der Computer einfach nicht genug Resourcen, aber für ein DOS reichts. Bei Linux hatte ich auch Vergessen, dass es trotzdem viel Assembler gibt, bei DOS ist das aber nicht so häufig, ich könnte mal probieren, FreeDOS für den DCPU azupassen.
da es aber anscheinend beim DCPU (noch) keine offizielle Option gibt die Position von Speicherblöcken festzulegen wird hier einiges an Umwegen gebraucht werden. Auch gibt es kaum Chancen, dass es einen Protected Mode beim Speicherzugriff gibt (außer man baut sich diesen selbst...).
Man kann doch einfach ein schon existierendes Dateisystem nehmen, die sind auch viel optimierter als ein eigenes.
Und 512 Bit hashen kann doch fast jeder Algorythmus, da die zu verschlüssende Datengröße doch normalerweise Variabel ist.
Das könnte manchen übernommenen OS so ergehen... naja warten wir mal ob sich nochmehr Entwickler finden und welche HW dann noch aufkommt bevor wir entscheiden was wir verwenden werden.Gegen Linux spricht ja, dass es sogar total abgespeckt zu langsam ist. Allerding könnte man mit Linux alle Daten auf zentralen Server speichern.
)
Forensoftware: Burning Board® 3.1.7, entwickelt von WoltLab® GmbH