Для того чтобы машина могла выполнить команды asmuo, turintis techninės įrangos lygį, būtina nustatyti tam tikrą veiksmų seką „nulio ir tie“ kalba. Šiuo atveju asistentas bus surinkėjas. Tai įrankis, kuris dirba su komandų vertimu į mašinos kalbą. Tačiau programos rašymas yra labai sunkus ir sudėtingas procesas. Ši kalba nėra skirta paprastiems ir paprastiems veiksmams sukurti. Šiuo metu bet kokia naudojama programavimo kalba („Assembler“ veikia gerai) leidžia jums rašyti specialias veiksmingas užduotis, kurios labai veikia aparatūros veikimą. Pagrindinis tikslas - sukurti mikrokonstrukcijas ir mažus kodus. Ši kalba suteikia daugiau funkcijų nei, pvz., Pascal arba C.
Trumpas surinkėjų kalbų aprašymas
Visos programavimo kalbos yra suskirstytos į lygius:žemas ir aukštas. Bet kuri „Assemblerio„ šeimos “sintaksinė sistema skiriasi tuo, kad joje vienu metu sujungiami kai kurie iš labiausiai paplitusių ir šiuolaikinių kalbų privalumų. Jie turi panašumų su kitais, kad kompiuterio sistema gali būti visiškai naudojama.
Skiriamasis kompiliatoriaus bruožas yranaudojimo paprastumas. Tuo jis skiriasi nuo tų, kurie veikia tik esant aukštam lygiui. Jei atsižvelgsite į tokią programavimo kalbą, „Assembler“ yra dvigubai greitesnis ir geresnis. Joje parašyti lengvą programą neužtrunka ilgai.
Trumpai apie kalbos struktūrą
Paprastai kalbant apie darbą ir struktūrąkalbos funkcionavimą, galime tvirtai pasakyti, kad jos komandos visiškai atitinka procesoriaus komandas. Tai yra, surinkėjas naudoja mnemoninius kodus, kuriuos žmonėms patogiausia rašyti.
Skirtingai nuo kitų programavimo kalbų,Montuotojas vietoj adresų naudoja specialias etiketes, kad įrašytų atminties vietas. Jie yra išverčiami į vadinamąsias direktyvas su kodo vykdymo procesu. Tai yra santykiniai adresai, kurie neturi įtakos procesoriaus veikimui (jie nėra išversti į mašinų kalbą), tačiau reikalingi pačiai programavimo aplinkai atpažinti.
Kiekviena procesoriaus linija turi savo instrukcijų rinkinį. Šioje situacijoje bet koks procesas bus teisingas, įskaitant išverstą mašinos kodą.
Asamblėjos kalba turi keletą sintaksių, kurios bus aptartos straipsnyje.
Kalbos pliusai
Svarbiausia ir patogiausia kalbos adaptacijaAsamblėja bus tokia, kad ant jo galite parašyti bet kokią procesoriaus programą, kuri bus labai kompaktiška. Jei kodas pasirodo didžiulis, tada programavimo aplinka nukreipia kai kuriuos procesus į RAM. Tuo pačiu metu jie viską atlieka pakankamai greitai ir be gedimų, nebent, žinoma, juos valdo kvalifikuotas programuotojas.
Tvarkyklės, operacinės sistemos, BIOS, kompiliatoriai, vertėjai žodžiu ir tt yra visos asamblėjos kalbos programos.
Kai naudojate išmontavimo įrenginį, kadatlieka vertimą iš kompiuterio į kompiuterio kalbą, galite lengvai suprasti, kaip veikia ta ar kita sistemos užduotis, net jei jai nėra paaiškinimo. Tačiau tai įmanoma tik tuo atveju, jei programos yra lengvos. Deja, suprasti gana nereikšmingus kodus yra gana sunku.
Kalbos minusai
Deja, pradedantieji programuotojai (ir dažnaiprofesionalai) sunku suprasti kalbą. Surinkėjui reikalingas išsamus reikalingos komandos aprašymas. Būtinybė naudoti mašinines instrukcijas padidina klaidingų veiksmų tikimybę ir vykdymo sudėtingumą.
Norint parašyti net paprasčiausią programą, programuotojas turi būti kvalifikuotas, jo žinių lygis yra pakankamai aukštas. Vidutinis specialistas, deja, dažnai rašo blogus kodus.
Jei platforma, kuriai kuriama programayra atnaujinamas, tada visos komandos turi būti perrašomos rankiniu būdu - to reikalauja pati kalba. Surinkėjas nepalaiko automatinio procesų būklės reguliavimo ir bet kokių elementų pakeitimo funkcijos.
Kalbos komandos
Kaip minėta pirmiau, kiekvienas procesorius turi savo instrukcijų rinkinį. Paprasčiausi bet kokio tipo atpažįstami elementai yra šie kodai:
- Duomenys perduodami naudojant mov ir kt.
- Su aritmetika susijusios komandos: sub, imul ir kt.
- Bitinės ir loginės funkcijos gali būti įgyvendinamos naudojant arba, ir, ir pan. Būtent šie Asamblėjos pagrindai leidžia tai būti panašūs į kitus.
- Norint pereiti nuo vienokomandas kitam, turėtumėte parašyti šiuos operatorius: djnz, cfsneq, cjne. Nepatyręs programuotojas gali pagalvoti, kad tai tik raidžių krūva, tačiau tai netiesa.
- Įėjimas ir išėjimas yra naudojami, kai reikia įvesties į uostą (arba išvesties iš jo).
- Valdymo komandos apima int. Jo dėka galite sustabdyti bet kokių procesų vykdymą pagrindinio veiksmo naudai.
Naudojant direktyvas
Mikrovaldiklių programavimas kalba(Montuotojas tai leidžia ir puikiai dirba) Žemiausias lygis daugeliu atvejų baigiasi gerai. Geriausia naudoti ribotų išteklių procesorius. 32 bitų technologijoms ši kalba yra tobula. Kodeksuose dažnai galite pamatyti direktyvas. Kas čia? O kam jis naudojamas?
Pirmiausia reikia sutelkti dėmesį į taidirektyvos nėra išverstos į mašinų kalbą. Jie valdo kompiliatoriaus darbą. Skirtingai nei komandos, šie parametrai, turintys skirtingas funkcijas, skiriasi ne dėl skirtingų procesorių, bet dėl skirtingo vertėjo. Tarp pagrindinių direktyvų yra šios:
- Gerai žinomos makrokomandos.
- Taip pat yra direktyvų, kurias turi aukštesnioji kalba. Surinkėjas jas puikiai „perskaito“ ir įvykdo.
- Kompiliatoriaus režimų valdymo ir valdymo funkcijos.
- Konstantų ir kintamųjų atpažinimas.
- RAM atmintyje esančių programų darbo reguliavimas.
Vardo kilmė
Kurios dėka kalba gavo savo pavadinimą -„Surinkėjas“? Mes kalbame apie vertėją ir kompiliatorių, kurie užšifruoja duomenis. Anglų kalba „Assembler“ reiškia ne ką kita, kaip surinkėją. Programa nebuvo surinkta rankomis, buvo naudojama automatinė struktūra. Be to, šiuo metu skirtumas tarp sąlygų tarp vartotojų ir specialistų jau išnyko. Asamblėjos kalba dažnai vadinama programavimo kalbomis, nors tai yra tik įrankis.
Dėl visuotinai pripažinto kolektyvinio vardokai kurie žmonės klaidingai mano, kad yra viena žemo lygio kalba (arba standartinės jos normos). Norint, kad programuotojas suprastų apie kokią struktūrą kalbame, būtina išsiaiškinti, kuriai platformai naudojama tam tikra surinkimo kalba.
Makrokomandos
Surinkėjų kalbos, kurios kuriamos santykinaipastaruoju metu turi makro fondų. Jie palengvina programos rašymą ir vykdymą. Dėl jų buvimo vertėjas užrašytą kodą vykdo daug kartų greičiau. Kurdami sąlyginį pasirinkimą, galite parašyti didžiulį komandų bloką, tačiau lengviau naudoti makrokomandas. Jie leis jums greitai perjungti veiksmus, jei įvykdoma sąlyga ar nevykdoma.
Naudodamas makrokomandos nurodymus, programuotojasgauna surinkėjų makrokomandas. Kartais jis gali būti plačiai naudojamas, o kartais jo funkcionalumas sumažėja iki vienos komandos. Jų buvimas kode palengvina darbą su juo, tampa aiškesnis ir intuityvesnis. Tačiau vis tiek turėtumėte būti atsargūs - kai kuriais atvejais makrokomandos, priešingai, pablogina situaciją.