Uvod v montažni jezik
Montažni jezik je programski jezik na nizki ravni. Pomaga pri razumevanju programskega jezika za strojno kodo. V računalniku obstaja sestavljavec, ki pomaga pretvoriti kodo sestavljanja v izvršljivo strojno kodo. Jezik montaže je zasnovan tako, da razume navodila in zagotavlja strojni jezik za nadaljnjo obdelavo. V glavnem je odvisno od arhitekture sistema, ali gre za operacijski sistem ali računalniško arhitekturo.
Jezik sestavljanja večinoma je sestavljen iz mnemoničnih navodil ali podatkov procesorja in drugih izjav ali navodil. Izdelano je s pomočjo sestavljanja izvorne kode jezika na visoki ravni, kot so C, C ++. Jezik montaže pomaga pri natančni prilagoditvi programa.
Prednosti:
- Omogoča, da se zapletena opravila izvajajo na enostavnejši način.
- Je pomnilnik učinkovit, saj zahteva manj pomnilnika.
- Hitro je hitrejši, saj je čas njegove izvedbe manjši.
- V glavnem je usmerjen v strojno opremo.
- Za dosego rezultata potrebuje manj navodil.
- Uporablja se za kritična delovna mesta.
- Spremljanje lokacij pomnilnika ni potrebno.
- To je vgrajen sistem na nizki ravni.
Slabosti:
- Za pisanje kode za isto je potrebno veliko časa in truda.
- Je zelo zapleteno in težko razumljivo.
- Sintaksa si je težko zapomniti.
- Nima prenosljivosti programa med različnimi računalniškimi arhitekturami.
- Za izvajanje dolgih programov, napisanih v jeziku skupščine, potrebuje večjo velikost ali pomnilnik računalnika.
Zakaj je jezik montaže uporaben?
Montažni jezik pomaga programerjem, da napišejo človeško berljivo kodo, ki je skoraj podobna strojnemu jeziku. Strojni jezik je težko razumeti in brati, saj gre le za niz številk. Jezik montaže pomaga pri zagotavljanju popolnega nadzora nad tem, katere naloge izvaja računalnik.
Primer:
Poiščite spodnje korake za tiskanje "Hello world" v sistemu Windows
- Odprite beležko.
- Spodaj napišite kodo
global _main
extern _printf
section .text
_main:
push message
call _printf
add esp, 4
ret
message:
db 'Hello, World!', 10, 0
- Datoteko shranite s katerim koli primerom imena XYZ.asm, razširitev pa naj bo ".asm".
- Zgornjo datoteko je treba sestaviti s pomočjo sestavljavca, ki je NASM (Netwide Assembler).
- Zaženite ukaz nasm –f win32 XYZ.asm
- Po tem Nasm ustvari eno objektno datoteko, ki vsebuje strojno kodo, ne pa izvršljive kode, ki je XYZ.obj
- Za ustvarjanje izvršljive datoteke za Windows se uporablja Minimal GNU, ki zagotavlja prevajalnik GCC.
- Zaženite ukaz gcc –o XYZ.exe XYZ.obj
- Izvedite datoteko zdaj "XYZ"
- Rezultat bo prikazan kot "Pozdravljeni, svet".
Zakaj bi se morali naučiti montažnega jezika?
Učenje jezika za sestavljanje je še vedno pomembno za programerje. Pomaga pri popolnem nadzoru nad sistemom in njegovimi viri. Programer lahko z učenjem jezika montaže napiše kodo za dostop do registrov in prikliče spominski naslov kazalcev in vrednosti. Pomaga predvsem pri optimizaciji hitrosti, ki povečajo učinkovitost in uspešnost.
Učenje jezikov za sestavljanje pomaga pri razumevanju funkcij procesorja in pomnilnika. Če programer piše kateri koli program, ki mora biti prevajalnik, kar pomeni, da mora imeti programer popolno razumevanje procesorja. Jezik sestavljanja pomaga pri razumevanju dela procesorja in pomnilnika. Je kripto in simboličen jezik.
Jezik montaže pomaga pri neposredni vzpostavitvi stika s strojno opremo. Ta jezik temelji predvsem na računalniški arhitekturi in prepozna določeno vrsto procesorja in njegovo različnost za različne CPU-je. Jezik montaže se nanaša kot pregleden v primerjavi z drugimi jeziki na visoki ravni. Ima majhno število operacij, vendar je koristno pri razumevanju algoritmov in drugih tokov kontrol. Zaradi tega je koda manj zapletena in enostavno odpravljanje napak.
Lastnosti:
Spodaj so navedene značilnosti jezika za sestavljanje:
- Uporablja lahko mmonično kot numerično operacijsko kodo in vsebuje tudi informacije o napaki v kodi.
- Ta jezik pomaga pri določitvi simboličnega operanda, kar pomeni, da mu ni treba določiti naslova stroja tega operanda. Lahko je predstavljena v obliki simbola.
- Podatke lahko deklarirate z decimalnim zapisom.
Sestavljalci:
Sestavljalci se uporabljajo za prevajanje montažnega jezika v strojni jezik. Obstajata dve vrsti montaže:
- Sestavljalnik z enim prehodom: enosmerni prehod sestavljalca se imenuje kot celoten pregled vnosa vhodnega programa v sestavljavca ali enakovredno zastopanje in prevajanje s stavek na podlagi izjave, imenovane enoprostornik ali en prehod. Izolira oznako, mnemoniko in operandno polje sistema. Navodila za kodo potrdi tako, da jih poišče v mnemografski kodni tabeli. V tabelo simbolov vnese simbol, ki ga najdemo v polju z nalepkami, in naslov besedilne razpoložljive strojne besede. Ta prehod je hiter in izvedljiv, zato vmesne kode ni treba oblikovati.
- Sestavljalnik z več prehodi: V tem sestavljavcu večkrat gre skozi jezik montaže in ustvari objektno kodo. V tem zadnjem prehodu se imenuje sintetični prehod in ta sestavljalec zahteva vsako obliko vmesne kode, da vsakič ustvari vsako prehodnost. Je sorazmerno počasnejši od sestavljenega z enim prehodom, vendar je mogoče nekaj dejanj, ki jih je mogoče izvesti več kot enkrat, pomeni podvojene.
Zaključek:
Jezik montaže je zelo pomemben za razumevanje računalniške arhitekture in programov za programerje. Programerji so večinoma uporabljali številne druge programske jezike za razvoj aplikacij in programske opreme, vendar je pomemben tudi jezik montaže. Programerjem pomaga, da dosežejo veliko, če izvajajo montažni jezik. Sklopi vsebujejo veliko metapodatkov, to je številka različice, podrobnosti o lokalizaciji in druge podrobnosti izdelka. Je pomemben del in ga uporabniku posredujemo po digitalni podpisovanju.
Če želi posameznik vedeti, kako deluje sistem in procesor, potem je jezik, ki rešuje namen. Pomaga pri vseh vidikih, od razumevanja algoritma programa do procesorja, ki deluje in registracije računalniških registrov. Odvisno je od izbire posameznika, s katerim jezikom nadaljevati.
Priporočeni članek
To je vodnik za Kaj je skupščina jezik. Tu smo razpravljali o lastnostih, prednostih in slabostih jezika montaže. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -
- Ali je programski jezik MySQL?
- Ali je Python skriptni jezik?
- R Programski jezik
- Kaj je HDFS?