Hola esnelb, la aplicación que realicé para detección del hardware muestra la cantidad de puertos paralelos, seriales, unidad de diskette entre otros dispositivos. Es un programa básico y se le pueden realizar varias mejoras. El código es algo extenso, así que le indicaré la manera de realizarlo, después el resto es seguir la secuencia para los demás dispositivos.
La interrupción a utilizar es la 11, la cual explica con más detalle su funcionamiento la siguiente página:
http://members.tripod.com/~oldboard/assembly/int_11.htmlY el método que seguí es que luego de llamar esta interrupción para cargar la información del hardware en AX, voy leyendo bit a bit para ver si está encendido o apagado, de la siguiente manera:
test ax,4096 ;compara el bit 13 con el valor "1"
jnz sijoystick ;salta si es diferente de cero
jz nojoystick ;salta si es igual a cero
No sé si es la aplicación que necesita...Cualquier duda, si puedo con gusto le colaboraré.
Muchos éxitos y Chao!