Problem bei Textausgabe
-
Hi,
ich habe aus den FAQ folgenden Code, um ein Zeichen auf den Bildschirm zu schreiben:mov ax, 0b800h mov es, ax mov ax, 0 mov di, ax mov es:[di] , 23h ; <- Fehler
Es sollte ein # in die obere linke Ecke geschrieben werden, aber der Compiler (NASM) bringt: 'invalid combination of opcode and operands'
Wie kann ich das Problem lösen?
Danke
M.T.
-
Mal mit anderer Schreibweise versucht? z.B. mov [es:di], 23h
-
Danke erst mal - so frisst's der Compiler, doch irgendwie funktioniert das restliche Programm mit diesem Code nicht mehr - wie setzt man denn nun ein Zeichen richtig (denn in den FAQ steht's so)?
M.T.
-
Original erstellt von Manuel:
(denn in den FAQ steht's so)?Wo? Bitte Link angeben...
NASM sollte die Sache eigentlich so schlucken:
mov ax,0xB800 mov es,ax mov di,0x0000 ;<= in di kann auch direkt geschrieben werden, ;es muss kein Umweg ueber ax genommen werden wie bei es. mov word [es:di],0x0A23 ;besser ein Word schreiben und somit auch gleich ;den Farbwert eintragen (0A=>Hellgruen auf Schwarz)
-
Danke - so funktioniert's
Ich hab gerade noch mal meine Surf-History durchgeschaut - der Code war aus einem Beitrag, den ich mit der Suchfunktion gefunden hatte - tschuldigung für die Unterstellungen an die FAQ
M.T.
[ Dieser Beitrag wurde am 15.06.2003 um 10:20 Uhr von Manuel editiert. ]