Binär kod i sig är inte direkt instruktioner. Det är * representationen * av instruktionerna. Instruktioner kodas som sekvenser av binära siffror (0s och 1s) som datorns centrala bearbetningsenhet (CPU) kan förstå och utföra. Dessa sekvenser motsvarar
maskinkod eller
Maskininstruktioner .
Tänk på det så här:
* Mänskligt läsbara instruktioner: Du kan skriva ett program på ett språk som Python eller C ++. Dessa är förståbara av människor.
* Monteringsspråk: Detta är ett språk på låg nivå som använder mnemonics (korta förkortningar) för att representera maskininstruktioner. Det är ett steg närmare datorns förståelse.
* Maskekod (binär): Monteringsspråket översätts sedan (monteras) till maskinkod - steg på 0s och 1s. Detta är det enda språket som CPU direkt förstår. Varje instruktion, som att lägga till två nummer eller hoppa till en annan del av programmet, har en specifik binär kod tilldelad den. Denna kod bestäms av CPU:s arkitektur (t.ex. x86, arm).
Till exempel kan en enkel tilläggsinstruktion se ut så här i olika representationer:
* Montering (exempel kan variera beroende på arkitekturen): `Lägg till AX, BX` (Lägg till innehållet i Register BX för att registrera AX)
* Maskekod (binärt, exempel, kommer att variera mycket baserat på arkitektur): `00000000 00001011 00000000 00000001` (Detta är ett * helt tillverkat exempel * för illustrativa ändamål. Verklig maskinkod är mycket mer komplex och arkitekturspecifik.)
Den specifika binära koden för en instruktion beror starkt på CPU:s arkitektur och instruktionsuppsättningen. Olika CPU:er har olika instruktionsuppsättningar, vilket innebär att de förstår olika binära koder. Det finns ingen universell binär kod för en given instruktion.