Nøgleforskel – Maskinsprog vs Assembly Language
Programmeringssprog gør det muligt for mennesker at lave instruktioner til en computer til at udføre opgaver. Der er tre kategorier af programmeringssprog, såsom programmeringssprog på højt niveau, assemblersprog og maskinsprog. Programmeringssprog på højt niveau er lettere for mennesker at forstå. Sprog, der genkendes af en computer, er kendt som maskinsprog. Forsamlingssprog er sproget mellem højniveausprog og maskinsprog. Den vigtigste forskel mellem maskinsprog og assemblersprog er, at maskinsprog udføres direkte af en computer, og assemblersprog kræver, at en assembler konverterer til maskinkode eller objektkode for at udføre af CPU'en.
Hvad er maskinsprog?
Mennesker kan forstå programmeringssprog på højt niveau. Det er ikke nødvendigt at have en dyb forståelse af den interne CPU for at programmere ved hjælp af sprog på højt niveau. De følger en syntaks, der ligner det engelske sprog. Java, C, C++, Python er nogle programmeringssprog på højt niveau. En computer genkender maskinsprog, men forstår ikke sprog på højt niveau. Derfor bør disse programmer konverteres til computer-forståeligt maskinsprog. Denne oversættelse udføres ved hjælp af en compiler eller en tolk.
Figur 01: Maskinsprog af nuller og enere.
Et maskinsprog består af binære cifre, som er nuller og én gang. En computer er en digital elektronisk enhed, så den bruger binær til operationer. En angiver den sande tilstand / tændt tilstand, mens nul angiver den falske tilstand / slukket tilstand. Måden at konvertere et program fra højniveausprog til maskinsprog afhænger af CPU'en.
Hvad er Assembly Language?
Assembly sprog er mellemsproget mellem programmeringssprog på højt niveau og maskinsprog. Det er et niveau over maskinsproget. Assembly sprog er lettere at forstå end maskinsprog, men sværere end programmeringssprog på højt niveau. Dette sprog er også kendt som et lavniveausprog, fordi det er tæt på hardwareniveauet. For at kunne skrive effektive programmer ved hjælp af Assembly skal programmøren have en god forståelse af computerarkitekturen og registerstrukturen. En speciel compiler kendt som en assembler bruges til at konvertere instruktioner til assemblersprog til maskinkode eller objektkode.
Forsamlingens sprogerklæringer har fire sektioner. De er en etiket, mnemonic, operand, kommentar. Etiket og kommentarer er valgfrie. Mnemonic er instruktionen til at udføre, og operander er parametre for kommandoen. Assembly sprog understøtter også makroer. En makro kan defineres som et sæt instruktioner med et navn. Det kan bruges andre steder i programmet.
Nogle eksempler på Assembly-sprogerklæringer er som følger.
MOV SUM, 50 – Denne instruktion kopierer værdien 50 til variablen SUM.
ADD VALUE1, 20 – Dette er for at tilføje 20 til VALUE1-variablen
ADD AH, BH – Denne instruktion skal kopiere indholdet i AH-registeret til BH-registeret.
INC COUNT – Dette er for at øge variablen COUNT med én.
AND VALUE1, 100 – Dette er for at udføre AND-operation på variable VALUE1 og 100.
MOV AL, 20 – Dette er for at kopiere værdi 20 til AL-register
Figur 02: Et program skrevet med Assembly Language
Set af forsamlingserklæringer er et forsamlingsprogram. Det kan ses, at assemblersproget er lettere end maskinsproget. Det har en syntaks, der ligner det engelske sprog. Samlesproget har omkring tredive instruktioner. Den nødvendige hukommelse og udførelsestid er minimum sammenlignet med sprog på højt niveau.
I re altidssystemer kan der være hændelser, som kræver CPU-handling med det samme. Disse hændelser er specielle underrutiner kaldet Interrupt Service routine (ISR). Assembly sprog er nyttigt til programmering af ISR.
Hvad er ligheden mellem maskinsprog og assemblersprog?
Både maskinsprog og assemblersprog er relateret til hardwareniveauet
Hvad er forskellen mellem maskinsprog og assemblersprog?
Maskinsprog vs Assembly Language |
|
Maskinsprog er det laveste programmeringssprog, hvor instruktionerne udføres direkte af CPU'en. | Assembly sprog er et programmeringssprog på lavt niveau, som kræver en assembler for at konvertere til maskinkode/objektkode. |
Forståelighed | |
Maskinsprog er kun forståeligt for computere. | Samlingssprog er forståeligt for mennesker. |
Syntaks | |
Et maskinsprog består af binære cifre. | Assembly sprog følger en syntaks, der ligner det engelske sprog. |
Dependency | |
Maskinsproget varierer afhængigt af platformen. | Samlingsproget består af et standardsæt instruktioner. |
Applications | |
Maskinsprog er maskinkode. | Assembly sprog bruges til mikroprocessorbaserede, re altidssystemer. |
Oversigt – Maskinsprog vs Assembly Language
Forskellen mellem maskinsprog og assemblersprog er, at maskinsprog udføres direkte af en computer, og assemblersprog er et programmeringssprog på lavt niveau, som kræver, at en assembler konverterer til objektkode eller maskinkode. Monteringssprog er et skridt foran maskinsproget. Assembly sprog er et ideelt sprog til at programmere mikrocontroller baserede systemer. Dette sprog giver også en god forståelse af, hvordan CPU'en fungerer, og om de interne komponenter i computeren.
Download PDF-versionen af Machine Language vs Assembly Language
Du kan downloade PDF-versionen af denne artikel og bruge den til offline-formål i henhold til citatnotat. Download venligst PDF-version her Forskel mellem maskinsprog og assemblersprog
Billede høflighed:
1.’Maskinsprog’Af Turkei89 – Eget arbejde, (CC BY-SA 3.0) via Commons Wikimedia
2.’Zstr count x86 assembly’ Af OldCodger2, (Public Domain) via Commons Wikimedia