Para escribir un dato en DATO_S hay que realizar una E/S mediante la función out(DATO_S, valor)
DATO_S en alto nivel es un número de puerto
Ese valor que envías lo toma el controlador y cuando termina de enviarlo genera la interrupción.
Saludos,
Gustavo