Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: Phier am 18. April 2004, 23:40
-
hat jemmand von euch ne gute page über nasm und feldvariablen find bei google nix.
möchte ne zeichenkette eingeben über int 21h mit mov ah,0ah da is der rückgabewert aber ne feldvariable und find da nix gebräuchliches für ;(
steht irgendwas mit ds:Dx ... steht der wert in denen ?
möcht das so wie unten angegeben machen blos mit ner zeichenkette:
org 100h
mov ah,1
int 21h
mov dl,al
mov ah,2
int 21h
mov ah,4ch
int 21h
thxle
phier
-
Da es hier um OSDev geht, denke ich mal dass du das für ein OS brauchst. In diesem Fall wird das ganze nämlich sowieso nicht funzen, da INT 0x21 von DOS bereit gestellt wird und folglich nicht vorhanden ist, wenn DOS nicht gestartet ist.
-
Also du musst einen Pointer auf das Feld der Funktion übergeben!
Die Adresse bekommst du z.B. mit
les si, hallo_string
dann steht in es:si die Adresse des Strings.
Dos benutzt (glaube ich) aber bx als Segmentpointer, also musst du dann noch:
push es
pop bx
-
oki thxle und @lizer geht allgemein um coding ... os-dev is anderer thread ;-)
-
gibt es eigendlich irgendwo im Netz eine kopie von dem DOS-Int 0x21? Als ASM, so dass man die einsetzten kann, warum denn das Rad neu erfinden?
-
Guck mal beim Free-Dos projekt nach! (ist ja kompatibel)