es relativamente sencillo ,una forma sería el de almacenar las entradas digitales para luego hacer las operaciones logicas y enviar la solucion a la salida; esto ya sea por polling o por interrupciones.
En mi opinion es mejor hacerlo por compuertas:mas sencillo, mas rapido y mas barato.