Int 21h (verwirter Megaanfänger)
-
Hi
.model tiny ;nur ein kleines Programm .code ;hier steht der code org 100h ;wir basteln ne COM Datei START: ;Label zum verzieren mov ah, 09h ;09h ist die INT21h Funktion zum ausgeben von Text mov dx, offset HelloWorld ;Wo steht der Text... INT 21h ;schreib ihn ! ENDE: ;schönes Label oder ? mov ah, 4ch ;4Ch zum Beenden INT 21h ;Beende ! HelloWorld db 'Hello World !!',10d,13d,'$' ;Unser String.. END START ;hier ist das ganze zuende..
...
mov ah, 09h
mov dx, offset HelloWorld
INT 21h
...Das gibt einen Text aus!
Aber ich verstehe nicht, warum unbedingt in ah! 9h gespeichert werden muss.
Wieso darf man das nicht in bh speichern?
und wieso wird gerade in dx der Text zur Ausgabe gespeichert und nicht in cx?Ich weis, das sind total blöde Fragen, aber mit der Antwort wäre mein "Verstehen" etwas besser dran!
Danke
Cu
Niko
-
Weil Microsoft diese Interrupt-Funktion nunmal so geschrieben hat, dass die Funtionsnummer in ah und das Text-Offset in ds:dx erwartet wird. Wenn Du nun genau wissen willst, warum die sich das so ausgedacht haben, kannst Du mal versuchen, an den Microsoft Support ne Mail zu schreiben. Ich wuerde da aber nicht mit einer Antwort rechnen
-
Ach so.
Danke für die Info!
-
also ich hab eine antwort bekommen
-
an welche Mailadresse hast du geschrieben?
-
wie löscht man einen Beitrag?
Die frage war glaube ich nicht an mich gerichtet. oder?[ Dieser Beitrag wurde am 24.05.2002 um 16:21 Uhr von Niko006 editiert. ]
-
Beitraege wirklich loeschen kann nur ein Mod oder Admin
@Zudi:
Ist nicht selbstverstaendlich, dass man von MS eine sinnvolle Antwort bekommt.
Also, hast du bei MS wirklich nachgefragt, warum die ihren int 21h so designt haben und eine Antwort auf die Frage bekommen? Die wuerde mich dann aber mal interessieren
-
LOS! POSTE DIE E-MAIL VON MS!