DS:DX DX nach DS oder DS nach DX ??
-
Hallo eine Frage ich hab in einer Doku folgendes gesehen:
http://www.ctyme.com/intr/rb-2563.htm
DOS 1+ - BUFFERED INPUT
AH = 0Ah
DS:DX -> buffer (see #01344)Return:
Buffer filled with user inputNotes: C/Break are checked, and INT 23 is called if either detected. Reads from standard input, which may be redirected under DOS 2+. If the maximum buffer size (see #01344) is set to 00h, this call returns immediately without reading any input
See Also: AH=0Ch - INT 2F/AX=4810h
Format of DOS input buffer:
Offset Size Description (Table 01344)
00h BYTE maximum characters buffer can hold
01h BYTE (call) number of chars from last input which may be recalled
(ret) number of characters actually read, excluding CR
02h N BYTEs actual characters read, including the final carriage returnCategory: DOS Kernel - Int 21h - D
Wird hier jetzt DS in DX geschoben und DX in den Buffer oder umgekehrt ?
DS:DX -> bufferWeil z.b.
add var,2 <-- Hier schiebt man ja die 2 in var und nicht var in 2
-
dsdx schrieb:
Wird hier jetzt DS in DX geschoben und DX in den Buffer oder umgekehrt ?
DS:DX -> bufferWeder noch. Die beschriebene Funktion erwartet in dem Registerpaar DS und DX einen Zeiger auf einen Puffer im RAM mit der angegebenen Struktur.
Stichwort "Adressierung im Real Mode". In DS gehoert der Segment- und in DX der Offset-Teil der Adresse des Puffers.dsdx schrieb:
Weil z.b.
add var,2 <-- Hier schiebt man ja die 2 in var und nicht var in 2Da wird die 2 auf einen Wert im RAM addiert. Hat aber nicht viel mit dem Fall oben zu tun.