Maskinsprog er et sprog på lavt niveau, der består af binære tal eller bits, som en computer kan forstå. Det er også kendt som maskinkode eller objektkode og er ekstremt svært at forstå. Det eneste sprog, som computeren forstår, er maskinsprog. Alle programmer og programmeringssprog, såsom Swift og C++, producerer eller kører programmer i maskinsprog, før de køres på en computer. Når en specifik opgave, selv den mindste proces udføres, transporteres maskinsproget til systemprocessoren. Computere er kun i stand til at forstå binære data, da de er digitale enheder.
I computeren er alle data som videoer, programmer, billeder repræsenteret i binært. CPU'en behandler denne maskinkode eller binære data som input. Derefter får et program eller et operativsystem det resulterende output fra CPU'en og viser det visuelt. For eksempel repræsenterer ASCII-koden 01000001 bogstavet 'A' i maskinsprog, men det vises på skærmen som 'A'.
Forskellig maskinkode bruges af forskellige processorarkitekturer; dog inkluderer maskinkoden 1'ere og 0'ere. Til tilfældet, sammenlignet med Intel x86-processor, der indeholder en CISC-arkitektur, har en PowerPC-processor brug for en anden kode, som indeholder en RISC-arkitektur. For at få den korrekte processorarkitektur, for at køre et program korrekt, skal en compiler kompilere kildekode på højt niveau.
For et program eller en handling kan det nøjagtige maskinsprog være forskelligt af operativsystemet, som beskriver, hvordan en compiler skriver en handling til maskinsprog. På samme måde har et fotografi over titusindvis af binære data, der bestemmer farven på hver pixel.
Computerprogrammer oprettes i et eller flere programmeringssprog (f.eks. Java, C++ eller Visual Basic). Programkoden skal kompileres, hvorigennem computeren kan forstå den, da programmeringssprog, der bruges til at skabe computerprogrammer, ikke kan forstås af computeren direkte. Når programmets kode er kompileret, konverteres den til
01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100
maskinsprog, så computeren kan forstå det.
Eksempler på maskinsprog
Teksten ' Hej Verden ' ville blive skrevet på maskinsproget:
Et andet eksempel på maskinsprog er givet nedenfor, som vil vise bogstavet 'A' 1000 gange på skærmen.
169 1 160 0 153 0 128 153 0 129 153 130 153 0 131 200 208 241 96
Udførelse af maskinkode
Hver processorfamilie følger et sæt instruktioner, der er specifikt programmeret, og disse instruktioner er lagt ud med maskinkode. Alle mindre brugbare komponenter, de komponenter, der omfatter maskinens overordnede funktion, bestemmes af et bestemt arrangement af basisenheder. Alle de grundlæggende informationsenheder er repræsenteret i binært, som har en eller to værdier på '1' eller '0'. Fordi hver processorklasse kræver en strukturel konfiguration, der passer til dens unikke instruktionssæt, er alle maskinkodekonfigurationers grundlæggende instruktionssæt knyttet til tilsvarende matchede processorklasser.
Brug af maskinsprog
Almindelige anvendelser af maskinsprog diskuteres nedenfor:
- Maskinsprog er et sprog på lavt niveau, som maskiner forstår, men som mennesker kan dechifrere ved hjælp af en assembler.
- En compiler spiller en vigtig rolle mellem mennesker og computere, da den konverterer maskinsprog til anden kode eller sprog, der er forståeligt for mennesker.
- Assembly sprog er dedikeret til at forstå maskinsprog, da det er en rip-off af det.
Forskellen mellem maskinsprog og monteringssprog
Der er forskellige forskelle mellem Machine Language og Assembly Language. En tabel nedenfor, der indeholder alle forskelle mellem dem.
Maskinsprog | Forsamlingssprog |
---|---|
Maskinsprog er et programmeringssprog på lavt niveau lavet af binære tal eller bits, der kun kan læses af maskiner. Det er også kendt som maskinkode eller objektkode, hvor instruktioner udføres direkte af CPU'en. | Forsamlingssprog er et sprog, der kun er for mennesker, og som ikke forstås af computere. Som et resultat fungerer det som en forbindelse mellem programmeringssprog på højt niveau og maskinsprog, hvilket kræver brug af en assembler til at konvertere instruktioner til maskin- eller objektkode. |
Maskinsprog inkluderer binære cifre (0'er og 1'er), hexadecimale og oktale decimaler, som kun kan forstås af computere og ikke kan dechifreres af mennesker. | Mnemonics såsom Mov, Add, Sub, End og andre udgør assemblersproget, som folk kan forstå, bruge og anvende. |
I maskinsprog kan fejlretning og ændringer ikke udføres, og maskinsprogenes funktioner varieres i overensstemmelse hermed. | Assembly sprog har konventionelle instruktionssæt, samt evnen til at rette fejl og ændre programmer. |
Maskinsprog er platformafhængige og meget svære at forstå af mennesker. | Syntakserne for Assembly-sprogene ligner det engelske sprog; derfor er det let at forstå for et menneske. |
Maskinsprog er ikke muligt at lære, da det er svært at huske og kun fungerer som en maskinkode. | Assembly sprog er let at huske, og det bruges til mikroprocessor-baserede applikationer/enheder og realtidssystemer. |
I maskinsprog er alle data til stede i binært format, der gør det hurtigt i udførelse. | Sammenlignet med maskinsprog er udførelseshastigheden af assemblersprog langsom. |
Sekvenserne af bit bruges af maskinsprog til at give kommandoer. Nul repræsenterer slukket eller falsk tilstand, mens en repræsenterer tændt eller sand tilstand. Det er afhængigt af CPU'en til konvertering af programmeringssprog på højt niveau til maskinsprog. | I stedet for at bruge rå sekvenser af bit, bruger assemblersprog 'mnemonics' navne og symboler; brugere behøver derfor ikke at huske op-koder med assemblersprog. På assemblersprog kan mennesker kortlægge koden til maskinkode, og koderne er lidt mere læsbare |
Første generations programmeringssprog er maskinsprog, som ikke behøver en oversætter. | Anden generation af programmeringssprog er assemblersprog, som bruger assembler som oversætter til at konvertere mnemonics til maskinforståelig form. |
Maskinsproget er hardwareafhængigt og tillader ikke ændringer. | Assembly sprog er ikke bærbart, og det er maskinafhængigt og kan nemt ændres. |
I maskinsprogets syntaks er der flere chancer for fejl. | Sammenlignet med maskinsprog er der færre chancer for syntaksfejl i assemblersprog. |