hola, mira , conozco bastante de C, y comence hace poco con el ccs, con lo cual la mania q me queda es revisar cosntantemente q es lo que genera el compilador en asm.
con respecto a las INT resuelve bien el problema pero SI genera un "overhead" sobre todo en la entrada y salida, el resto por supuesto depende de q pones y como lo pones, ya q el compilador hace cosas totalemnte distintas si cambias un caracter de lugar.
Pero siempre puedes anular la opcion q te proponen y hacer la tuya propia, por supuesto en C y diseñando bien la entrada y salida de la interrupcion.
pero en cuanto a tu pregunta, creo q para algo sin mayores exigencias la respuesta/solucion q tiene es muy buena.