Você escreve uma linha de código, e o processador só entende bits. Acompanhamos a tradução: montador em duas passagens, fases do compilador, ligação e carregamento. No caminho, o GCC reduz doze instruções a duas com -O2, e vemos onde ficam Python e Java entre compilar e interpretar.
A mesma expressão custa 5 instruções com três operandos, 7 com dois e 11 com um acumulador. Veremos a ISA, o contrato entre hardware e software, os formatos de instrução, o R-type do RISC-V e os sete modos de endereçamento que dizem onde está cada operando.
Um processador hipotético de 12 bits, com 15 instruções, serve de modelo para acompanhar o ciclo de instrução completo. Executamos LDA e ADD registrador por registrador, codificamos instruções em hexadecimal e escrevemos programas em assembly com desvios e laços.