TSR sobre la int 09h

Aquest petit codi en assembler 16 bits (sí, prehistòria informàtica), és una possible solució a una de les pràctiques que es proposen a l’assignatura de Sistemes Operatius de la Universitat d’Andorra. Vaig tenir la curiositat de reprendre la programació en ASM només per veure com de rovellat estava. La veritat és que n’estava molt!

L’enunciat de la pràctica és clar: s’ha de reescriure la rutina que controla el teclat de manera que quan es premi la tecla F3 s’enviï la comanda DIR<CR> a la consola. Això s’ha d’implementar mitjançant un programa TSR (Terminate and Stay Resident).

La solució que proposo no és del tot òptima per tota una sèrie de detalls que no venen al cas, però és prou vàlida per entendre els conceptes darrere els TSR i les interrupcions de BIOS i DOS.

He refrescat un munt de conceptes interessants que no havia tocat des de feia més de 20 anys. Assembler pot dur a la bogeria, però és un llenguatge que toca directament la màquina i tots els informàtics l’haurien de conèixer, crec, com a mínim una mica.

Codi font i executable: KBSwitch

Aquest codi no té llicència de cap tipus. En podeu fer el que vulgueu.

NOTA: No cal la instal·lació de màquines virtuals DOS com FreeDOS o DOSBox. Funciona sota Windows 7. Per compilar el codi font fa falta MASM32 i LINK16. Al codi font hi ha les instruccions per realitzar aquesta compilació.

Ara torno a la meva vida normal...