Machinetaal
Machinetaal, of machinecode, is een low-leveltaal die bestaat uit binaire cijfers (enen en nullen). Hoogniveau-talen, zoals Swift en C++, moeten in machinetaal worden gecompileerd voordat de code op een computer wordt uitgevoerd.
Omdat computers digitale apparaten zijn, herkennen ze alleen binaire gegevens. Elk programma, elke video, afbeelding en elk teken tekst wordt binair weergegeven. Deze binaire gegevens, of machinecode, worden door de CPU verwerkt als invoer. De resulterende uitvoer wordt naar het besturingssysteem of een toepassing gestuurd, die de gegevens visueel weergeeft. De ASCII-waarde voor de letter "A" is bijvoorbeeld 01000001 in machinecode, maar deze gegevens worden op het scherm weergegeven als "A". Een afbeelding kan duizenden of zelfs miljoenen binaire waarden bevatten die de kleur van elke pixel bepalen.
Hoewel machinecode uit enen en nullen bestaat, gebruiken verschillende processorarchitecturen verschillende machinecode. Een PowerPC-processor, die een RISC-architectuur heeft, vereist bijvoorbeeld andere code dan een Intel x86-processor, die een CISC-architectuur heeft. Een compiler moet hoogniveau-broncode compileren voor de juiste processorarchitectuur, zodat een programma correct kan worden uitgevoerd.
Machinetaal versus assembleertaal
Machinetaal en assembleertaal zijn beide low-leveltalen, maar machinecode staat in de hiërarchie van computertalen onder assembleertaal. Assembleertaal bevat voor mensen leesbare opdrachten, zoals mov, add en sub, terwijl machinetaal geen woorden of zelfs maar letters bevat. Sommige ontwikkelaars schrijven handmatig assembleertaal om een programma te optimaliseren, maar ze schrijven geen machinecode. Alleen ontwikkelaars die softwarecompilers schrijven, hoeven zich met machinetaal bezig te houden.
NOTE: Hoewel machinecode technisch gezien uit binaire gegevens bestaat, kan deze ook worden weergegeven in hexadecimale waarden. De letter "Z", die binair wordt weergegeven als 01011010, kan bijvoorbeeld worden weergegeven als 5A in hexadecimale code.
Test je kennis