Da bi stroj mogao izvršavati naredbeosoba na hardverskoj razini, potrebno je postaviti određeni slijed radnji na jeziku "nula i jedinica". Monter će postati pomoćnik u ovom pitanju. To je uslužni program koji radi s prijevodom naredbi na strojni jezik. Međutim, pisanje programa vrlo je naporan i složen proces. Ovaj jezik nije namijenjen stvaranju laganih i jednostavnih radnji. Trenutno bilo koji programski jezik koji se koristi (Assembler izvrsno radi) omogućuje vam pisanje posebnih učinkovitih zadataka koji uvelike utječu na rad hardvera. Glavna svrha je stvaranje mikroinstrukcija i malih kodova. Ovaj jezik pruža više mogućnosti od, na primjer, Pascala ili C.
Kratki opis skupštinskih jezika
Svi programski jezici podijeljeni su u razine:nisko i visoko. Bilo koji sintaktički sustav "obitelji" Assembler razlikuje se po tome što odjednom ujedinjuje neke od prednosti najraširenijeg i modernijeg jezika. S drugima ih povezuje činjenica da se računalni sustav može u potpunosti koristiti.
Posebnost kompajlera jeJednostavnost korištenja. Po tome se razlikuje od onih koji rade samo s visokim razinama. Ako uzmete u obzir bilo koji takav programski jezik, Assembler je dvostruko brži i bolji. Ne treba predugo da se u njega napiše lagani program.
Ukratko o strukturi jezika
Općenito govoreći o radu i strukturifunkcioniranje jezika, možemo sa sigurnošću reći da njegove naredbe u potpunosti odgovaraju naredbama procesora. Odnosno, Asembler koristi mnemoničke kodove koji su ljudima najprikladniji za pisanje.
Za razliku od ostalih programskih jezika,Asembler koristi posebne oznake umjesto adresa za pisanje memorijskih mjesta. Prevode se u takozvane direktive zajedno s postupkom izvršavanja koda. To su relativne adrese koje ne utječu na rad procesora (nisu prevedene na strojni jezik), ali su potrebne za prepoznavanje od strane samog programskog okruženja.
Svaka linija procesora ima svoj set uputa. U ovoj će situaciji bilo koji postupak biti točan, uključujući prevedeni strojni kod.
Asemblerski jezik ima nekoliko sintaksa, o čemu će biti riječi u članku.
Plusevi jezika
Najvažnija i najprikladnija jezična prilagodbaAsembler će biti da na njega možete napisati bilo koji program za procesor, koji će biti vrlo kompaktan. Ako se ispostavi da je kod ogroman, tada programsko okruženje preusmjerava neke procese u RAM. Istodobno, sve izvode dovoljno brzo i bez kvarova, osim ako ih, naravno, ne kontrolira kvalificirani programer.
Upravljački programi, operativni sustavi, BIOS, kompajleri, tumači itd. Svi su programi na asemblerskom jeziku.
Kada se koristi rastavljač kojiizvodi prijevod sa stroja na računalni jezik, lako možete razumjeti kako funkcionira određeni sistemski zadatak, čak i ako za to nema objašnjenja. Međutim, to je moguće samo ako su programi lagani. Nažalost, prilično je teško razumjeti netrivijalne kodove.
Protiv jezika
Nažalost, programeri početnici (i čestoprofesionalci) teško je razaznati jezik. Asembler zahtijeva detaljan opis potrebne naredbe. Potreba za korištenjem strojnih uputa povećava vjerojatnost pogrešnih radnji i složenost izvršenja.
Da bi napisao i najjednostavniji program, programer mora biti kvalificiran i njegova razina znanja je dovoljno visoka. Prosječni stručnjak, nažalost, često piše loše kodove.
Ako je platforma za koju se program izrađujese ažurira, tada se sve naredbe moraju ručno prepisati - to zahtijeva sam jezik. Asembler ne podržava funkciju automatske regulacije stanja procesa i zamjene bilo kojih elemenata.
Jezične naredbe
Kao što je gore spomenuto, svaki procesor ima svoj set uputa. Najjednostavniji elementi koje prepoznaje bilo koja vrsta su sljedeći kodovi:
- Prijenos podataka vrši se pomoću mov-a itd.
- Aritmetičke naredbe: sub, imul itd.
- Bitovne i logičke funkcije mogu se implementirati pomoću ili, i itd. Upravo ove osnove montaže omogućuju mu da bude sličan drugima.
- Kako bi se izvršio prijelaz s jednognaredbe drugom, trebali biste napisati sljedeće operatore: djnz, cfsneq, cjne. Neiskusnom programeru može se činiti da je ovo samo hrpa slova, ali to nije istina.
- Ulaz i izlaz koriste se kada postoji potreba za ulazom (ili izlazom) iz porta.
- Kontrolne naredbe uključuju int. Zahvaljujući njemu možete zaustaviti izvršavanje bilo kojih procesa u korist glavne radnje.
Koristeći se direktivama
Programiranje mikrokontrolera na jeziku(Asembler to dopušta i izvrsno funkcionira) najniža razina u većini slučajeva dobro završava. Najbolje je koristiti procesore ograničene resursima. Za 32-bitnu tehnologiju ovaj je jezik savršen. U kodovima često možete vidjeti direktive. Što je to? I za što se koristi?
Prvo se trebate usredotočiti na činjenicu dasmjernice nisu prevedene na strojni jezik. Oni uređuju način rada kompajlera. Za razliku od naredbi, ovi se parametri, koji imaju različite funkcije, razlikuju ne zbog različitih procesora, već zbog različitog prevoditelja. Među glavnim smjernicama su sljedeće:
- Dobro poznati makronaredbe.
- Postoje i smjernice koje posjeduje nadređeni jezik. Asembler ih savršeno "čita" i izvršava.
- Funkcije upravljanja i upravljanja načinima kompajlera.
- Prepoznavanje konstanti i varijabli.
- Regulacija rada programa koji se nalaze u RAM-u.
Podrijetlo imena
Zahvaljujući kojem je jezik i dobio ime -"Asembler"? Govorimo o prevoditelju i prevoditelju koji šifriraju podatke. Na engleskom jeziku Assembler ne znači ništa više nego asembler. Program nije sastavljen ručno, korištena je automatska struktura. Štoviše, u ovom je trenutku razlika između pojmova već nestala među korisnicima i stručnjacima. Montažni jezik često se naziva programskim jezicima, iako je to samo uslužni program.
Zbog općeprihvaćenog skupnog naziva zaneki ljudi pogrešno misle da postoji jedan jezik niske razine (ili standardne norme za njega). Da bi programer mogao razumjeti o kojoj strukturi govorimo, potrebno je razjasniti za koju se platformu koristi određeni montažni jezik.
Makro alati
Asemblerski jezici koji se grade relativnoodnedavno imaju makro sredstva. Olakšavaju pisanje i izvođenje programa. Zbog njihove prisutnosti, prevoditelj izvršava napisani kod mnogo puta brže. Prilikom stvaranja uvjetnog odabira možete napisati ogroman blok naredbi, ali lakše je koristiti makro alate. Omogućit će vam brzo prebacivanje između radnji, u slučaju da je uvjet zadovoljen ili ne.
Kada koristi direktive makro jezika, programerdobiva makros asemblera. Ponekad se može široko koristiti, a ponekad se njegova funkcionalnost svede na jednu naredbu. Njihova prisutnost u kodu olakšava rad s njim, čini ga jasnijim i intuitivnijim. Ipak, ipak biste trebali biti oprezni - u nekim slučajevima makronaredbe, naprotiv, pogoršavaju situaciju.