Se me ocurren múltiples formas en las que puedes trabajar en la interfaz de hardware y software:
1.) Escribir tu propio compilador o ensamblador para una determinada arquitectura de conjuntos de instrucciones (ISA)
Apuesto a que probablemente sabes lo que es la ISA, pero en caso de que no lo sepas, es -simplemente- un acuerdo entre el hardware y el …