DS : DX deve essere caricato prima di chiamare la funzione.

DS deve essere impostato uguale al valore del segmento dei dati, dove stanno le tue variabili.

DX deve essere il puntatore ad un area fatta, ad esempio, in questo modo

codice:
DBuf DB  20h
KCnt DB  00h
Buff  DB  00h DUP(20h)
In questo modo indichi di effettuare un input di massimo 20h caratteri (compreso il tasto invio) all'interno del buffer che parte da Buff. Il numero di caratteri effettivamente pressati sono in KCnt.

Mi sembra tutto abbastanza chiaro ...