este no es fácil de responder en breve. Pero lo intento:
El bloque de construcción básico de un mcu es una "puerta lógica". Estos vienen en diferentes sabores: Y / O / NO / XOR, etc. vea enlace . El otro es una celda de memoria.
Dependiendo de la técnica que utilice su CPU, se pueden construir con transistores / mosfets, etc.
Por simplicidad, imagine que una compuerta AND es un transistor PNP cuyo EMISOR solo se vuelve alto cuando se aplica corriente tanto a BASE como a COLLECTOR.
Ahora a su programa:
Tu primera instrucción es una sub que resta un valor de otro. Si ambos valores son iguales, el registro de destino solo contiene cero. Entonces (para un registro de 8 bits) hay 8 celdas de memoria que contienen ceros o que "no contienen corriente" / están "conectadas a tierra".
Ahora, utilizando las puertas lógicas, puede O estas celdas de memoria y terminar con una salida que es alta (si alguna de ellas es alta) o baja (si todas son bajas). Este valor se transfiere (por ejemplo, conecte salida de este "cable" a la entrada de la celda de memoria) al registro de estado como Z-Bit.
Ahora a tu segunda instrucción: el salto condicional.
Primero, la condición: esto podría ser solo otra puerta que se conecta a la celda de memoria Z-Bit.
Ahora el salto: el puntero de instrucción de tu CPU es solo otra celda de memoria. Pero todo lo que necesitamos es transferir el valor de su objetivo de salto a esa celda de memoria utilizando algunas puertas AND.
¿Así que es eso?
En realidad no. Es mucho más complicado. No hemos hablado de relojes, unidades auxiliares y mucho más. Pero estas deben ser las operaciones muy básicas para que pueda imaginar algo que al menos no sea completamente incorrecto;)
EDITAR: si desea saber más o simplemente probar que no es así mucho más complicado, vea esto: enlace