Galvenā atšķirība - mašīnas valoda pret montāžas valodu
Programmēšanas valodas ļauj cilvēkiem izveidot norādījumus datoram uzdevumu veikšanai. Ir trīs programmēšanas valodu kategorijas, piemēram, augsta līmeņa programmēšanas valodas, montāžas valoda un mašīnas valoda. Augsta līmeņa programmēšanas valodas cilvēkiem ir vieglāk saprotamas. Datora atpazīto valodu sauc par mašīnvalodu. Montāžas valoda ir valoda starp augsta līmeņa valodām un mašīnvalodu. Galvenā atšķirība starp mašīnvalodu un montāžas valodu ir tāda, ka mašīnvalodu izpilda tieši dators, un montāžas valodai ir nepieciešams, lai montētājs pārveidotu par mašīnkodu vai objekta kodu, ko izpilda centrālais procesors.
Kas ir mašīnvaloda?
Cilvēki var saprast augsta līmeņa programmēšanas valodas. Nav nepieciešams dziļi izprast iekšējo CPU, programmēt, izmantojot augsta līmeņa valodas. Tie ievēro sintakse, kas līdzīga angļu valodai. Java, C, C++, Python ir dažas augsta līmeņa programmēšanas valodas. Dators atpazīst mašīnvalodu, bet nesaprot augsta līmeņa valodas. Tāpēc šīs programmas ir jāpārvērš datoriem saprotamā mašīnvalodā. Šis tulkojums tiek veikts, izmantojot kompilatoru vai tulku.
Attēls 01: Nuļļu un vieninieku mašīnas valoda.
Mašīnvaloda sastāv no bināriem cipariem, kas ir nulles un vienreizēji. Dators ir digitāla elektroniska ierīce, tāpēc operācijām tas izmanto bināro. Viens norāda patieso stāvokli / ieslēgtu stāvokli, bet nulle norāda viltus stāvokli / izslēgtu stāvokli. Veids, kā programmu konvertēt no augsta līmeņa valodas uz mašīnvalodu, ir atkarīgs no centrālā procesora.
Kas ir montāžas valoda?
Assembly valoda ir starpvaloda starp augsta līmeņa programmēšanas valodām un mašīnvalodu. Tā ir vienu līmeni virs mašīnvalodas. Montāžas valodu ir vieglāk saprast nekā mašīnvalodu, bet grūtāk nekā augsta līmeņa programmēšanas valodas. Šī valoda ir pazīstama arī kā zema līmeņa valoda, jo tā ir tuvu aparatūras līmenim. Lai rakstītu efektīvas programmas, izmantojot Assembly, programmētājam ir jābūt labai izpratnei par datora arhitektūru un reģistra struktūru. Lai pārveidotu montāžas valodas instrukcijas mašīnkodā vai objekta kodā, tiek izmantots īpašs kompilators, kas pazīstams kā montētājs.
Asamblejas valodas paziņojumos ir četras sadaļas. Tie ir etiķete, mnemonika, operands, komentārs. Iezīme un komentāri nav obligāti. Mnemonika ir izpildes instrukcija, un operandi ir komandas parametri. Montāžas valoda atbalsta arī makro. Makro var definēt kā instrukciju kopu ar nosaukumu. To var izmantot citur programmā.
Daži asamblejas valodas paziņojumu piemēri ir šādi.
MOV SUM, 50 - šī instrukcija kopē vērtību 50 mainīgajā SUM.
PIEVIENOT VĒRTĪBU1, 20 - tas ir paredzēts, lai mainīgajam VALUE1 pievienotu 20
PIEVIENOT AH, BH - šī instrukcija ir kopēt AH reģistra saturu BH reģistrā.
INC COUNT - tas ir paredzēts, lai palielinātu mainīgo COUNT par vienu.
AND VALUE1, 100 - lai veiktu UN darbību mainīgajiem VALUE1 un 100.
MOV AL, 20 - tas ir paredzēts, lai kopētu vērtību 20 uz AL reģistrā
Attēls 02: Programma, kas rakstīta, izmantojot montāžas valodu
Asamblejas paziņojumu kopa ir montāžas programma. Var redzēt, ka montāžas valoda ir vieglāka nekā mašīnvaloda. Tam ir angļu valodai līdzīga sintakse. Montāžas valodā ir aptuveni trīsdesmit instrukcijas. Nepieciešamā atmiņa un izpildes laiks ir minimāls, salīdzinot ar augsta līmeņa valodām.
Reāllaika sistēmās var būt notikumi, kuriem nepieciešama tūlītēja CPU darbība. Šie notikumi ir īpašas apakšprogrammas, ko sauc par pakalpojumu pārtraukšanas rutīnu (ISR). Montāžas valoda ir noderīga ISR programmēšanai.
Kāda ir līdzība starp mašīnas valodu un montāžas valodu?
Gan mašīnas valoda, gan montāžas valoda ir saistītas ar aparatūras līmeni
Kāda ir atšķirība starp mašīnas valodu un montāžas valodu?
Mašīnas valoda pret montāžas valodu |
|
Mašīnas valoda ir zemākā līmeņa programmēšanas valoda, kurā instrukcijas izpilda tieši centrālais procesors. | Assembly valoda ir zema līmeņa programmēšanas valoda, kas prasa, lai montētājs konvertētu uz mašīnas kodu/objekta kodu. |
Saprotamība | |
Iekārtas valoda ir saprotama tikai datoriem. | Montāžas valoda ir saprotama cilvēkiem. |
Sintakse | |
Mašīnvaloda sastāv no bināriem cipariem. | Asamblejas valodai tiek izmantota angļu valodai līdzīga sintakse. |
Atkarība | |
Iekārtas valoda atšķiras atkarībā no platformas. | Montāžas valoda sastāv no standarta instrukciju kopas. |
Lietojumprogrammas | |
Mašīnvaloda ir mašīnkods. | Uz mikroprocesoru balstītām reāllaika sistēmām tiek izmantota montāžas valoda. |
Kopsavilkums - mašīnas valoda pret montāžas valodu
Atšķirība starp mašīnvalodu un montāžas valodu ir tāda, ka mašīnvalodu tieši izpilda dators, un montāžas valoda ir zema līmeņa programmēšanas valoda, kas prasa, lai montētājs konvertētu uz objekta kodu vai mašīnkodu. Montāžas valoda ir soli priekšā mašīnvalodai. Montāžas valoda ir ideāla valoda mikrokontrolleru sistēmu programmēšanai. Šī valoda sniedz arī labu izpratni par CPU darbību un datora iekšējiem komponentiem.
Lejupielādēt PDF versiju Machine Language vs Assembly Language
Varat lejupielādēt šī raksta PDF versiju un izmantot to bezsaistē saskaņā ar atsauces piezīmi. Lūdzu, lejupielādējiet PDF versiju šeit Atšķirība starp mašīnas valodu un montāžas valodu
Attēls:
1.'Mašīnas valoda'By Turkei89 - pašu darbs, (CC BY-SA 3.0), izmantojot Commons Wikimedia
2.'Zstr count x86 assembly' Autors OldCodger2, (publiskais domēns), izmantojot Commons Wikimedia