QNA > C > Come Programmare In Codice Macchina

Come programmare in codice macchina

Ho fatto la mia prima programmazione in codice macchina sul MC6800. Il primo punto è esadecimale è normalmente usato invece di binario come sono facilmente intercambiabili ed è più compatto. Quando vedo 0x86F0 vedo anche 1000 0110 1111 0000.

All'epoca l'esecuzione di un programma in codice macchina aveva tre passi:

  1. Scrivere il programma su carta.
  2. Scaricarlo sul computer.
  3. Eseguire il programma.

Nella scrittura del programma si userà l'esadecimale, non il binario, perché è il modo in cui il produttore documenta il set di istruzioni ed è più veloce da scrivere. Ecco il set completo di istruzioni per l'MC6800, ho memorizzato le più comuni.

main-qimg-f9d56415425d47950b00469cef7ad513.webp

Quindi per sommare due numeri scriverei il codice assembler, per esempio un programma per sommare 2+2 e dare il risultato:

LDAA #2

ADDA #2

SWI

Poi cercherei gli opcode e li riempirei per ottenere

86 02 LDAA #2

8B 02 ADDA #2

3F SWI

Quindi ora ho il mio programma 86 02 8B 02 3F.

Il secondo passo è quello di caricarlo. Sono stato fortunato che il sistema che ho costruito aveva un display a LED a 7 segmenti e una tastiera esagonale, così ho potuto inserirlo con la pressione di 12 tasti. Alcune macchine avevano caricatori di base per interruttori binari e questo programma di 5 byte avrebbe avuto bisogno di circa 50 interruttori per essere caricato. Con un caricatore binario leggevi il tuo programma in esadecimale con gli occhi e lo inserivi in binario con le mani perché lo sforzo cerebrale è lo stesso che scrivere in binario ma lo sforzo fisico è molto minore.

L'ultimo passo era eseguirlo, la pressione di un pulsante e hai finito.

Di Howell Kliment

Perché il codice macchina viene interpretato dal microcodice piuttosto che essere compilato in microcodice? :: È possibile riconvertire il codice macchina in un linguaggio di programmazione?
Link utili