Põhierinevus – masinakeel vs koostekeel
Programmeerimiskeeled võimaldavad inimestel luua juhiseid arvutile ülesannete täitmiseks. Programmeerimiskeeli on kolm kategooriat, näiteks kõrgetasemelised programmeerimiskeeled, koostekeel ja masinakeel. Kõrgetasemelistest programmeerimiskeeltest on inimestel lihtsam aru saada. Arvuti tuvastatud keelt nimetatakse masinakeeleks. Assamblee keel on keel kõrgtaseme keelte ja masinkeele vahel. Peamine erinevus masinkeele ja montaažikeele vahel on see, et masinakeelt käivitab otse arvuti ja montaažikeel nõuab, et assembler konverteeriks protsessori poolt käivitamiseks masinkoodiks või objektkoodiks.
Mis on masinakeel?
Inimesed saavad aru kõrgetasemelistest programmeerimiskeeltest. Ei ole vaja sügavat sisemist protsessorit mõista, programmeerida kõrgetasemeliste keelte abil. Nad järgivad inglise keelega sarnast süntaksit. Java, C, C++, Python on mõned kõrgetasemelised programmeerimiskeeled. Arvuti tunneb ära masinkeele, kuid ei mõista kõrgetasemelisi keeli. Seetõttu tuleks need programmid teisendada arvutile arusaadavaks masinakeeleks. See tõlge tehakse kompilaatori või tõlgi abil.
Joonis 01: Nullide ja ühtede masinakeel.
Masinkeel koosneb kahendnumbritest, mis on nullid ja üks kord. Arvuti on digitaalne elektrooniline seade, seega kasutab see toimingute jaoks kahendkoodi. Üks näitab tõelist olekut / sees olekut, null aga vale olekut / väljalülitatud olekut. Programmi kõrgetasemelisest keelest masinakeeleks teisendamise viis sõltub protsessorist.
Mis on Assembly Language?
Assembly keel on vahepealne keel kõrgetasemeliste programmeerimiskeelte ja masinakeele vahel. See on masinakeelest ühe taseme võrra kõrgemal. Koostekeelt on lihtsam mõista kui masinakeelt, kuid raskem kui kõrgetasemelisi programmeerimiskeeli. Seda keelt tuntakse ka madala taseme keelena, kuna see on riistvarataseme lähedal. Assembly abil tõhusate programmide kirjutamiseks peab programmeerijal olema hea arusaam arvuti arhitektuurist ja registri struktuurist. Assembleri keele juhiste teisendamiseks masinkoodiks või objektikoodiks kasutatakse spetsiaalset kompilaatorit, mida nimetatakse assembleriks.
Assamblee keele avaldustes on neli osa. Need on silt, mnemoonik, operand, kommentaar. Silt ja kommentaarid on valikulised. Mnemoonika on täitmisjuhis ja operandid on käsu parameetrid. Assembly keel toetab ka makrosid. Makrot saab defineerida nimega käskude komplektina. Seda saab kasutada ka mujal programmis.
Mõned näited assamblee keele avalduse kohta on järgmised.
MOV SUM, 50 – see käsk kopeerib väärtuse 50 muutujasse SUM.
LISA VÄÄRTUS1, 20 – See on 20 lisamiseks muutujale VALUE1
LISA AH, BH – see juhis on kopeerida AH-registri sisu BH-registrisse.
INC COUNT – muutuja COUNT suurendamiseks ühe võrra.
AND VÄÄRTUS1, 100 – see on AND-toimingu tegemiseks muutujatega VALUE1 ja 100.
MOV AL, 20 – see on väärtuse 20 kopeerimiseks AL registrisse
Joonis 02: Programm, mis on kirjutatud kasutades Assembly Language
Assamblee avalduste komplekt on koosteprogramm. On näha, et montaažikeel on lihtsam kui masinakeel. Sellel on inglise keelega sarnane süntaks. Assamblee keeles on umbes kolmkümmend juhist. Nõutav mälu ja täitmisaeg on kõrgetasemeliste keeltega võrreldes minimaalsed.
Reaalajas süsteemides võib esineda sündmusi, mis nõuavad CPU viivitamatut tegevust. Need sündmused on spetsiaalsed alamprogrammid, mida nimetatakse teenuse katkestamise rutiiniks (ISR). Montaažikeel on kasulik ISR-i programmeerimiseks.
Mis on masinakeele ja koostekeele sarnasus?
Nii masinakeel kui ka montaažikeel on seotud riistvaratasemega
Mis vahe on masinakeele ja koostekeele vahel?
Masinkeel vs koostekeel |
|
Masina keel on madalaima taseme programmeerimiskeel, kus käske täidab otse protsessor. | Assembly keel on madalatasemeline programmeerimiskeel, mis nõuab assemblerit, et teisendada masinkoodiks/objektikoodiks. |
Arusaadavus | |
Masina keel on arusaadav ainult arvutitele. | Assamblee keel on inimestele arusaadav. |
Süntaks | |
Masinkeel koosneb kahendnumbritest. | Assamblee keel järgib inglise keelega sarnast süntaksit. |
Sõltuvus | |
Masina keel erineb olenev alt platvormist. | Assamblee keel koosneb standardsetest juhistest. |
Rakendused | |
Masin keel on masinkood. | Komplektikeelt kasutatakse mikroprotsessoripõhiste reaalajas süsteemide jaoks. |
Kokkuvõte – masinakeel vs koostekeel
Masinikeele ja montaažikeele erinevus seisneb selles, et masinakeelt käivitab otse arvuti ja montaažikeel on madala tasemega programmeerimiskeel, mille puhul on vaja, et assembler teisendaks objektikoodiks või masinkoodiks. Assamblee keel on masinakeelest sammu võrra ees. Assembly keel on ideaalne keel mikrokontrolleripõhiste süsteemide programmeerimiseks. See keel annab ka hea ülevaate protsessori tööst ja arvuti sisemistest komponentidest.
Laadi alla PDF-versioon masinakeele ja koostekeelega
Saate alla laadida selle artikli PDF-versiooni ja kasutada seda võrguühenduseta kasutamiseks vastav alt tsitaadi märkusele. Laadige PDF-versioon alla siit. Masina keele ja koostekeele erinevus
Pilt:
1.'Masinkeel' Autor Turkei89 – oma töö, (CC BY-SA 3.0) Commonsi Wikimedia kaudu
2.’Zstr count x86 assembly’ Autor OldCodger2, (avalik domeen) Commonsi Wikimedia kaudu