Textausgabe — Änderungen 8523 → 8658

Zeile 2: Zeile 2:
 
== Realmode ==
 
== Realmode ==
  
−
/// ToDo
+
Im Realmode macht das BIOS diese Arbeit.
 +
Um ein Zeichen zu schreiben reicht folgender ASM-Code (für NASM):
 +
<asm>
 +
sti            ;Falls Interrupts aus sind, schalte Interrupts an
 +
mov ah, 0x0E  ;Wir wollen schreiben
 +
mov bh, 0x00  ;Auf den Bildschirm
 +
mov al, "T"    ;Das zu schreibende Zeichen
 +
int 0x10      ;Ausführen
 +
</asm>
 +
Um einen ganzen Text zu schreiben gibt es folgenden Trick:
 +
<asm>
 +
Schreibe:      ;Hier fängt die Funktion Schreibe an
 +
sti            ;Wenn Interrupts aus sind, dann schalte sie an
 +
lodsb          ;Zeichen laden nach al
 +
cmp al, 0x00  ;Wenn 0-Byte ...
 +
je Schreibeende;... dann beende Schreibefunktion
 +
;Wenn nicht, dann
 +
mov ah, 0x0E  ;Wir wollen schreiben
 +
mov bh, 0x00  ;Auf den Bildschirm
 +
int 0x10      ;Jetzt
 +
jmp Schreibe  ;Mache nächstes Zeichen
 +
Schreibeende:  ;Bei Stringende wird hierher gesprungen:
 +
ret            ;Die Funktion beenden
 +
</asm>
 +
 
 +
Dann kann man einfach einen Text schreiben:
 +
<asm>
 +
mov si, Text  ;Den Text unten
 +
call Schreibe  ;schreiben
 +
 
 +
;Der Text:
 +
Text db "Text im Realmode schreiben geht!",13,10,0
 +
; ,13,10 macht eine Neue Zeile
 +
; ,0 sagt das es hier aufhört (sonst würde zuviel geschrieben werden)
 +
</asm>
  
 
== Protected Mode ==
 
== Protected Mode ==