Para cada máquina algum conjunto de n sinais de controle, aplicados nos lugares apropriados, pode fazer a máquina funcionar sem nenhuma decodificação.
Com este raciocínio pode-se chegar a um formato diferente de microinstrução: com n bits de largura para cada sinal de controle. Essas são chamadas microinstruções horizontais e possuem um número pequeno de microinstruções largas. Já quando as microinstruções possuem um pequeno número de campos altamente codificados estas são chamadas verticais, isto é, possui muitas microinstruções estreitas.
Para facilitar a distinção entre horizontal e vertical será feito um outro microprograma, chamado Mic-2, cujos opcodes estão relacionados a seguir:
Três diferenças principais são percebidas entre os dois microprogramas são elas: o AND, o NZ e o decodificador OP. O AND é necessário porque o campo R1 alimenta os barramentos A e C. O bloco NZ é um registrador de 2 bits que pode ser comandado para armazenar os sinais N e Z da ALU. O decodificador OP produz sinais que alimentam o bloco AND, a lógica de microsequênciamento, NZ, Amux, a ALU, o deslocador, MBR, MAR, RD e WR. Ao todo OP gera 13 sinais distintos.