PrettyOS um Rechner erweitern
-
lmb schrieb:
aber diese meldung kommt noch beim starten (schon immer, habe ich immer übersprungen)
pci called in register_pci_handlers stub. you must not have loaded the pci pluginBei Sourceforge kannst du dir auch ältere Bochs-Versionen holen, afair klappts mit 2.2.6.
-
aber warum klappts denn nicht damit? der code ist doch korrekt?!
edit:
nun kommt beim kompilieren folgende meldung:
kernel.asm:177: error: TIMES value -22 is negative
-
Lol, I am able to understand German, you can write your own messages in German, no problem.
Loading programs is far far away. First, make a kernel (Protected Mode) go work on basic kernel, memory manager, multitasker, and then write disk drievrs and file system drivers. SO you can read a file from a disk. Then you have to make some syscalls and compile newlib. Compile a program with you own newlib. Write code for executing processes, and run your program.
I already said: far far away. It's a long long way, os development.
// PHPnerd
-
filemanager etc. sind doch gar nicht nötig, oder? multitasking brauche ich doch auch nicht unbedingt.
was bringt mir der pm?
klar, es ist ein langer weg, aber ich habe auch nur begrenzt zeit (schüler).
kann man denn den rechner nicht auch in die kernel datei mit einfügen?
was ist mit den fehlermeldungen?
-
lmb schrieb:
nun kommt beim kompilieren folgende meldung:
kernel.asm:177: error: TIMES value -22 is negativeIch glaube, bei den späteren Sachen ist dieses "times bla bla" am Ende der Datei nicht mehr da. Schau mal in Erhards zips rein oder hast du genau diese kompiliert?
-
doch, bei der zip klappt es.
aber ich habe es eigentlich nach dem tutorial gemacht.
hier ist meine bootsignatur:times 512-($-$$) hlt ; no boot signature
-
Und genau diese Zeile muss weg
-
oh, danke!
ich habe auch gerade geschafft, einen zeilenumbruch zu machen *freu*
zb so:msg_commands db 'TessOS Befehle:', 13, 10 db 'hi - Das Betriebssystem begruesst Sie ganz herzlich', 13, 10 ; einfach die 0 weglassen db 'commands - Zeigt diese Befehlsliste', 13, 10 db '? / help - Zeigt die Hilfethemen', 13, 10 db 'exit - Das System wird neugestartet', 13, 10, 0 ; und am ende wieder dranfügen msg_exit db 'System wird neugestartet ...', 13, 10, 0 msg_help db 'Hilfethemen:', 13, 10 db ' 1. Befehle', 13, 10 db ' Fuer eine vollstaendige Liste geben Sie bitte "commands" ein.', 13, 10, 0
Ach ja und wikipedia hat mir grad schön erklärt, wo der unterschied zwischen rm und pm ist
richtig?
pm = protected mode = programme kriegen nicht den vollen speicher = notwendig für multitasking
rm = real mode = programme können auf den vollen speicher zugreifen = ungünstig für multitasking
-
pm = protected mode = programme kriegen nicht den vollen speicher = notwendig für multitasking
rm = real mode = programme können auf den vollen speicher zugreifen = ungünstig für multitaskingJa, das ist zwar etwas vereinfacht ausgedrückt, aber PM ist eine gute Voraussetzung für Multitasking. Lies Dich mal hier ein: http://www.fh-zwickau.de/doc/prmo/pmtutor/text/p_all1.htm
Das ist eine der besten Literaturstellen für das Thema PM.aber ich habe es eigentlich nach dem tutorial gemacht.
Ist im Tutorial ein Fehler oder lag es bei Dir? Wir können auch gerne im Teil 1 noch einzelne Punkte klarer heraus stellen. Mache einfach einen Änderungsvorschlag.
-
lmb schrieb:
nun kommt beim kompilieren folgende meldung:
kernel.asm:177: error: TIMES value -22 is negativeDas passiert wenn in der "kernel.asm" mehr als 512 Bytes reingedrückt wurden (durch z.B. viel msg_Text).
Entweder die Zeile streichen (in der kernel.asm ist sie unnötig, da dort nichts "gefüllt" werden muß) oder die Zahl von 512 auf 1024 o.ä. erhöhen.
-
hey, sehr gut danke!
Das würde ich dann auch mit ins tutorial reinschreiben
-
Danke, werde ich machen.
EDIT: wurde eingefügt, bitte prüfen, ob meinerseits richtig verstanden.
-
gut
soll ich jetzt den calculator in asm oder c schreiben?
ich denke nämlich, dass c für mich einfacher ist, vorallendingen, weil ich aus dem php bereich komme, die syntax ähnelt sich ziemlich.
aber c kann man nicht einfach einbinden?
-
soll ich jetzt den calculator in asm oder c schreiben?
An der Stelle in asm. Das ist sicher eine interessante Übung.
-
okay
stimmt das so? grundlegend?addieren:
mov zahl1, 15
mov zahl2, 2
add zahl1, zahl2
mov ergebnis, zahl1variable ergebnis müsste 15 sein, oder?
-
2+15=17
Hier ist ein vielleicht interessanter Assembler-Einstiegs-Crash-Kurs: http://ivs.cs.uni-magdeburg.de/bs/lehre/sose99/bs1/seminare/assembler.shtml#add
-
klar, natürlich 17, hab mich verschrieben
danke für den linktipp!
-
aha noch einfacher.
guuuuut!
-
aha noch einfacher. guuuuut!
Genau!
-
nochmal:
addition:mov ergebnis,50 add ergebnis,20 ;ergebnis = 70
subtraktion:
mov ergebnis,30 sub ergebnis,10 ;ergebnis = 20
multiplikation:
mov zahl1,3 mov zahl2,5 imul ergebnis, zahl1, zahl2 ;ergebnis = 15
division:
mov zahl1,30 mov zahl2,10 idiv ergebnis, zahl1, zahl2 ;ergebnis = 3
alles soweit richtig?
quelle: http://de.wikibooks.org/wiki/Assembler_(80x86_Prozessor)-Programmierung:_Rechnen_mit_dem_Assembler
korrigiert