Assembler principleri
Joba
Assembler pragrammalastiriw tili ha’m principleri
Assembler tilinin’ Assambleya ha’m Kompilyator pragrammalastiriw tilinen parqi
Programmalastırıw tilleri haqqinda ken’ tu’sinik
Assembler da’stu’rlew tili
Assembler hám mashina tili " tómen darejedegi tiller" dab ataladı. Basqa tárepden, COBOL, BASIC, Paskal, C tili, C ++, Java hám C # sıyaqlı programmalastırıw tilleri " joqarı dorajadagi tiller" dab ataladı. Tómen doraja uniń kompyuterdiń shiyki ichlashiga jaqınlıǵın, joqarı dorajasi esha uniń insan sezimsine jaqınlıǵın ańlatadı (kompyuterdiń shiyki ichlashidan uzaqta ). Joqarı dorajadagi tiller kompyuter texnikasın bilmasdan programmalastırıw imkaniyatın beredi. Joqarı dorajadagi til programmaları assambleyer programmalarına qaraǵanda kemrek qatarlarǵa iye hám ularni jáne de samarali yoratish múmkin. Nátiyjede, búgingi kúnde montajshılar kamdan kem qollanılıp atır hám kópshilik programmistler joqarı dorajadagi tillerden paydalanadılar.
Soǵan qaramay, assembler haqqındaǵı bilim eshlash kerek emas, yodda tutılıwı kerek bolǵan wazıypa bolıp tabıladı. Eger programmistler assemblerni úyrensalar, ularning programmalastırıw texnikası talay jaqsılanadı hám hátte joqarı dorajadagi tillerde de kompyuterlerdiń shiyki ichlashidan xabarlı bolǵan arıq programmalardı (tez ichlaydigan, ıqsham ólshem degi programmalar ) yoratishi múmkin boladı. Programmalastırıwtirmaydiganlar assambleyerni úyrengende, ular ózlarining kompyuterge bolǵan túsiniklerin hám qızıǵıwshılıqların talay tereńlashtiradilar ( 1-rostm [ keńeytirilgen kórinish ]).
Úshewler bul ketma -ket assambleyer hám programmalastırıwdıń tiykarǵı usılları haqqında ulıwma malumot beredi. Programmalastırıw tojribasiga iye bolmaǵan odamlar da túsiniwi ushın men bunı álpayımlıq menen túsintiremen, ótinish, úshewlerbu múmkinshilikten paydalanıp, assambleyer haqqında bilim uiń hám kompyuterler hám programmalardıń túp rostmini bilip uiń.
● Assembler ne?
Endi assambleyer ne ekenligin túsintirip beremiz. Tósatdan, 1-dizimdi kórip shıǵıń. Bul kompilyator emas, bálki C tilinde jazılǵan programma. Eki gilt ma`nisin qosıw nátiyjesi displeyde kórsetiledi. Programma torkibini túsiniwingizga hájet joq. Tek ingliz hám matematikanıń aralashmasi sıyaqlı kórinetuǵın bázi gápler bar ekenligine itibar berń.
● S tilinde jazılǵan programmalar
# sonday-aq
int a, b, ans;
scanf (" % d", & a);
scanf (" % d", & b);
ans = a + b;
printf (" % d \ n", ans );
Kompyuterdiń mıyı bolǵan protsessor S tili programmaların tolqin ete uadimi? Juwap joq. C tili - programmalardı insan tiline uqsas anglichan tilinde (ingliz hám matematikada ) ańlatatuǵın programmalastırıw tili. Markaziy protsessor C tilinde jazılǵan programmanı túsiniwi ushın, " til kompilyatori" dab atalǵan konversion programmadan paydalanıp, C tiliniń ańlatpasın " mashina tili" (tolqin etiliwi hám bojarilishi múmkin bolǵan cifrlı bahalar dizimi) bolıwı kerek.protsessor) ". bolıwı kerek. Windows ortalıǵında Listing 1 torkibini Kasan. c fayl atı menen saqlasangiz jáne onı kompilyator menen aylantırsangiz, Kasan. exe dab atalǵan mashina tilindegi fayl yoratiladi ( 2-rostm [ keńeytirilgen kórinish ]). Keyin protsessor Kasan. exe-dıń torkibini tolqin etiwi hám bojarishi múmkin.
Hesh kim programmanı nomerler dizimi bolǵan mashina tilinde jazolmaydi. Usınıń sebepinen, stilistik usıl ichlab shıǵıldı, ol jaǵdayda mashina tilinde cifrlı baha menen kórsetilgen kórsetpege laqap (anglichandiń qısqartirilgan versiyası ) berildi hám programmalastırıw laqap járdeminde ámelge asırıldı. Buǵan " yiǵilish tili" dayiladi. Laqap " mnemonic" dab ataladı. Assambleya tilinde jazılǵan programma bul mnemonika dizimi. Mnemonik protsessorning apparat ichlashini ańlatadı.
Assambleya tilinde jazılǵan programmalar Kasan. asm sıyaqlı fayl atı menen saqlanadı. Anıqlaw aytatuǵın bolsaq, mnemonic-da jazılǵan Kasan. asm faylın mashina tilinde Kasan. exe faylına ózgartiradigan programma " yiǵuvchi" bolıp tabıladı. Biroq, montaj tili kóbinese assembler dab ataladı, sol sebepli biz úshewlerbu ketma -ketlikte assambleyer akemasidan paydalanamız.
● Assembler hám mashina tili órtasida birden jazıwmalar bar.
Listing 2 assambleyer programması hám mashina tili programması órtasidagi jazıwmalarni kórsetedi. PUSH hám MAń - bul mnemonika. 55 hám 8 B EC sıyaqlı mashina tili. Úshewlerbu programmanıń wazıypası ilgeri kórsetilgen C tili programması menen bir qıylı. Programma torkibini túsiniwingizga hájet joq. Ótinish, tek atmosferanı túsinip uiń.
Assambleyer programmasında C programmasına qaraǵanda kóbirek qatarlar bar ekenin kóriwińiz múmkin. Óytkeni sonda, kompilyatsiya etilgeninen keyin C tilinde ichlatiladigan bir kórsetpe bir nechta mashina tillerine torjima etilgen bolsa, montajda ichlatiladigan bir buyrıq yiǵilgandan keyin bir mashina tiline torjima etiledi. Assambleyer hám mashina tili órtasida Birma -bir jazıwmalar bar. Sol sebepli assemblerda programmalastırıw mashina tilinde programmalastırıwǵa teń bolıp tabıladı. Sol sebepli bul úyreniw bolıp tabıladı.
Hár qıylı protsessorlarning aytılıwı hám orınlawǵa bolatuǵın bolǵan hár túrlı túrdegi mashina tilleri bar. Sol sebepli mnemonikaning mashina tili nomerlerine sáykes keletuǵın túrleri de hár túrlı. Joqarıda keltirilgen assambleyer programması jeke kompyuterińizda isletiletuǵın Pentium sıyaqlı " x86 ceriyali" dep atalǵan protsessorlarga mólsherlengen.
x86 protsessorlari funktsiyalarǵa bay hám kóplegen mnemonikalarga iye. Assambleyerni birinshi ret úyreneyotganlar ushın bul júdá quramalı hám jaramsız. Sol sebepli, bul izbe-izlilikde biz COMET II dep atalǵan úskene ushın CASL II dep atalǵan yig'uvchiga itibar qaratamız. Bular " Informaciya texnologiyaları injenerleri imtixanlari" teması bolıp, olar Ekonomika, sawda hám sanaat ministrligi tárepinen basqarılatuǵın milliy sertifikatlaw imtixanı bolıp tabıladı. COMET II - bul qıyalıy apparat hám CASL II - qıyalıy yig'uvchi. COMET II-dıń ápiwayı apparat konfiguratsiyasi sebepli CASL II-de isletiletuǵın mnemonikalar sanı kem (ekinshi ceriyada kiritilgeni sıyaqlı 20 dan artıq ) hám hár kim onı ańsatǵana ózlestiriwi múmkin. Assambleyerni birinshi ret úyreneyotganlar ushın juwap beredi.
Kompyuter texnikasınıń ush tiykarǵı komponenti bul protsessor, yad hám I / O. CPU programmanı túsindiriwleydi hám atqaradı. Yad programmalardı jazadı (kórsetpeler hám maǵlıwmatlar ). Kirgiziw-shıǵarıw kompyuterdi periferik apparatlarǵa (klaviatura, displey, disk apparatı hám basqalar ) ulaydi. Assambleyer tárepinen jaratılǵan programmanıń mazmunı sonnan ibarat, protsessor yadqa hám I / O ga maǵlıwmatlardı kiritedi hám shıǵaradı hám maǵlıwmatlar CPU ishinde esaplanadı. Bul apparattan xabarlı programmalastırıw ( 3-súwret ).
CPU ishinde " registrlar" bar. Dizimnen ótiw - bul kórsetpeler hám maǵlıwmatlardı saqlaytuǵın konteyner. Biraq, bul jaysha konteyner emes, bálki ol maǵlıwmatlardı esaplaw funktsiyasına da iye. COMET II protsessorida onnan artıq registrlar ámeldegi, olar óz atları menen ajralıp turadı (GR0, GR1 hám basqalar ) ( 4-súwret [ keńeytirilgen kórinis ]). Assembler programmasında registrni atı menen belgileń.
Keling, individual registrlarning rolin túsintirip beremiz. Kompyuter - bul programmalar aǵımın basqarıwshı " programma esaplagichi". SP - bul maydandı yadta isletiw ushın " Stack Pointer". GR0 den GR7 ge shekem maǵlıwmatlar menen islew ushın isletiletuǵın " ulıwma registrlar" bar. Ulıwma maqsetler ushın registrlar sanı segiztani quraydı, sebebi GR1 tákirarlaw sanın esaplaw ushın hám GR2 qosımsha menen islewdi ámelge asırıw ushın isletiledi. FR - bul operatsiya nátiyjesin belgilengenler etiwshi " Bayraq registri". PC, SP, GR0 den GR7 ge shekem bolǵan ólshemler 16 bıyt. Tek ǵana FR 3 bıyt kólemge iye.
Kompyuter ishinde barlıq maǵlıwmatlar ekilik nomerler retinde isleydi. Ekilik nomerler - bul tek 0 hám 1 sanları járdeminde nomerlerdi sáwlelendiriw usılı. Ekilik nomerdiń bir nomeri " bit" dep ataladı. Sol sebepli 16 -bitli registrni 0 yamasa 1 ni óz ishine alǵan 16 kishi qutilar qatarı dep esaplaw múmkin ( 5-súwret [ keńeytirilgen kórinis ]).
COMET II yadı - bul kórsetpeler yamasa maǵlıwmatlardı sáwlelendiriwshi 16 -bitli konteynerlar kompleksi. Yad, protsessordagi registrlardan ayrıqsha bolıp esaplanıw, jaysha arifmetik funktsiyalarǵa iye bolmaǵan konteyner bolıp tabıladı. Jeke konteynerlar sanı boyınsha ajralıp turadı. Bul nomer " yad adresi" dep ataladı. Yad adresiniń birligi " mánzil" bolıp tabıladı. COMET II yad mánzilleri 0 den 65535 ke shekem bolǵan yadqa iye (65536 konteyner). Assambleyer programmasında yad adresin yaddıń adresin kórsetiń ( 6 -súwret [ Úlkenlestirilgen kórinis ]).
COMET II I / O programmasınan tuwrıdan-tuwrı basqarıw múmkin emes. Maǵlıwmatlardı klaviaturadan kirgiziwde yamasa displeyde maǵlıwmatlardı kórsetiwde, qıyalıy OS (bul OS atalmaǵan ) funktsiyalarınan paydalanıw kerek. OS tárepinen usınıs etilgen funktsiyalardı assambleyer programmasınan shaqırıp, tikkeley bolmaǵan kirgiziw ámelge asıriladı. Buǵan " qadaǵalawshı gúńgirtog'i (yamasa sistema gúńgirtog'i) " dep ataladı. Qadaǵalawshı bul operatsion sistema. Hátte jeke kompyuterińizda isleytuǵın Windows programması dep atalǵan OS funktsiyasınan paydalanǵan halda tikkeley bolmaǵan tikkeley bolmaǵan kirisiw-shıǵarıw / kirgiziw-shıǵarıw (kirisiw / shıǵıw ) operatsion sistemasında isleydi. Supervizor shaqırıwları bul ceriyaning 4-bóleginde tolıq bayanlainadi ( 7-súwret [ keńeytirilgen kórinis ]).
Bul sapar, isinish jol menende, keleshekte paydalaniletuǵın COMET II jala apparatınıń registrini hám tek registrini túsintiredim. Keyingi waqıttan baslap men CASL II mnemonikasining túrlerin túsintiremen hám assembler ushın úlgili programmalardı usınıs etemen. Biraq, bul ceriyaning maqseti montajchini ózlestiriw emes. Assemblerni úyreniw arqalı siz kompyuterler hám programmalardıń túp mánisin bilip alasız. Onıń ushın qıyalıy apparat COMET II hám qıyalıy montajshı CASL II etarli.
Do'stlaringiz bilan baham: |