Hallo,
Außerdem will hier ja wohl niemand ein OS wie DOS entwickeln, oder doch?


Grüße
Erik
und ggf. auch kleine Programmschnipsel die zeigen welcher Opcode hierbei verwendet wird.Das ist IMHO aber schon deutlich mehr als man am Anfang wirklich verkraftet.
Man braucht nicht unbedingr dafür ein 32Bit-OS um Programme(oder Teile davon) im 32 Bit-Mode auszuführen. Vom purem 16 Bit-DOS aus gestartet (ohne Memorymangaer wie emm386.exe) kann jede Anwendung selber in den 32 Bit-PM schalten und einen Opcode der für den 32 Bit-Mode entwickelt wurde dann auch ausführen.Also wenn die Programme quasi ihr eigenes OS mitbringen (ein DOS-Extender ist ja fast ein richtiges OS) dann heißt das nicht das man keinen passenden System-Mode-Code benötigt der die gewünschten Features auch anbietet.
Außerdem will hier ja wohl niemand ein OS wie DOS entwickeln, oder doch?
Der Unrealmode ist weder ein Trick noch ein Bug, sondern ein zu Anfang verleugneter Betriebsmode der mit der Einführung der 80386 hinzukam.Der Unreal-Mode ist aber wimre nicht absichtlich eingeführt worden sondern ist eigentlich schon eine Art Bug weil beim Zurückschalten vom PM auf RM die Segment-Shadow-Register nicht passend zurück gesetzt werden. Einen echten Nutzwert hat der Unreal-Mode aber nicht weil er nur schwer praktisch nutzbar ist, jedes Laden eines Segment-Registers im RM setzt immer die Segment-Shadow-Register auf für den RM passende Werte (also Limit auf 64kB usw.).
Ich habe überhaupt keine Ahnung über Real Mode, usw...Eigentlich reicht es ja auch wenn der Compiler davon Ahnung hat, wobei es natürlich trotzdem nützlich ist wenn man als Programmierer auch mal ein paar Ebenen tiefer blicken kann. Vor allem im Low-Level-Bereich wird man aber über wenigstens grundlegende Assembler-Kenntnisse nicht herum kommen, eigentlich sollte man IMHO für ein OS schon eher fortgeschrittene Assembler-Kenntnisse haben.
Speicheradressierung hat mich auch noch nicht besonders beschäftigt, weil ich es nie gebraucht habe.Was, Deine Programme haben noch nie auf den Speicher zugegriffen? Respekt!

Falls das eine Art INT2HEX_ASCII sein soll ist da ein Bug drin, mal sehen wer den noch findet.Code: [Auswählen]Puffer1 DB 0,1,2,3,4,5,6,7,8,9
DB "ABCDEFGHIJ"
....
....
lea di, Puffer1
mov bx, 10
mov al, [bx+di]
.....

Grüße
Erik

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert