[1] La funzione di libreria bdos() è quel che ci vuole per applicare il metodo descritto:

    ....
    bdos(0x0C,0xFF,0x06);
    ....

Per completezza aggiungiamo che il servizio 06h legge un carattere dallo standard input se il registro DL contiene FFh, altrimenti essa scrive sullo standard output il carattere rappresentato dal valore di DL; con la funzione 07h, che attende la pressione di un tasto, è possibile realizzare una rudimentale imitazione di getch() (che, d'altra parte, la utilizza) in grado di pulire il buffer della tastiera:

    ....
    (char)bdos(0x0C,0x00,0x07);
    ....

La bdos() restituisce 0 se è stato premuto un tasto speciale (tasti funzione, etc.). Per conoscerne il codice è sufficiente invocare una seconda volta la funzione 07h.

    ....
    (char)bdos(0x07,0x00,0x00);
    ....