Como programar em código de máquina
Fiz a minha primeira programação em código de máquina no MC6800. O primeiro ponto é hexadecimal é normalmente usado em vez de binário, pois são facilmente intercambiáveis e são mais compactos. Quando é ver 0x86F0 também vejo 1000 0110 1111 0000.
Voltar então executando um programa em código de máquina você tinha três passos:
- Escrever o programa em papel.
- Upload it to the computer.
- Executar o programa.
Na escrita do programa você vai usar hexadecimal, não binário, pois é como a manufatura documenta as instruções definidas e é mais rápido de anotar. Aqui está o conjunto completo de instruções para o MC6800, memorizei as mais comuns.
Então para adicionar dois números eu anotaria o código assembler, por exemplo um programa para adicionar 2+2 e dar o resultado:
LDAA #2
ADDA #2
SWI
Então eu procuraria os opcodes e os preencheria para obter
86 02 LDAA #2
8B 02 ADDA #2
3F SWI
Então agora tenho o meu programa 86 02 8B 02 3F.
O segundo passo é carregá-lo. Tive sorte que o sistema que construí tinha um display LED de 7 segmentos e um teclado hexadecimal para que eu pudesse introduzir isto com 12 pressões de botão. Algumas máquinas tinham carregadores de base comutadores binários e este programa de 5 bytes precisaria de cerca de 50 comutadores para carregar. Com um carregador binário leria seu programa em hexadecimal com os olhos e o introduziria em binário com as mãos pois o esforço do cérebro é o mesmo que escrever em binário mas o esforço físico muito menos.
O último passo era executá-lo, o apertar de um botão e você está pronto.
Artigos semelhantes
- Em termos leigos, o que é código de byte, código de montagem, código de máquina e código fonte?
- Quais são as diferenças entre Código de Máquina, Código de Byte, Código de Objeto e Código Fonte?
- Qual é a diferença entre bytecode, código nativo, código de máquina e código de montagem?
- Qual é a diferença entre o código da máquina e o código binário?