Assembler dasturlash tili Reja
Download 212.72 Kb.
|
Assembler dasturlash tili
- Bu sahifa navigatsiya:
- 3. Assembler tiliniń alfavit hám tiykarǵı konstruksiyası.programmalardı yezish elementleri.
- Assembler tiliniń konstruksiyası. Operatorlar.
- Operandlar hám olardı adreslew rejimleri.
- Operandlarni mikroprogramma ortalıqında ámeldegi bolmaǵan túrde ańlatılıwı.
- Operand stekda jaylasadı.
- 4. Assembler translyatori.
- Paydalanilg’an a’debiyatlar
ASCII kodi. Mikrokompyuterlarni bir standartǵa keltiriw hám informaciya almaslaw ushın amerikalıq milliystandart kodı isletiledi. ASCII (American Nationdl Standart Code for Information Interchange).Standart kodı bar ekenligi kompyuter xar qıylı kurilmalari arasındaǵı maǵlıwmatlardı alıwını jeńil etedi.RS de isletiletuǵın 8- bitli keńeytirilgen ASCII kodı 256 belgilerdi (milliy belgileri menenbirge ) támiyinlep kursatadi.Ikkili sanlar.Kompyuter fakat bitni 0 hám 1 xolatini tushunadi, usınıń sebepinen ol 2- lik sanok sistemasıda isleydi.Bıyt uzini atınıń ingliz (“binary digit” 2- lik ranem sanı) den aldı. 2 - lik rakamlar járdeminde qálegenkiymatlarni kursatish múmkin. 2- lik sannı kiymatini xar bir bitni salıstırmalı urin hám birlik bıytlar bar ekenligimenen aniklaydilar. Urin kodı: 128 64 32 16 8 4 2 1 - bul jerde xamma birlik bıytlardı saklaydigan 8- bitli sankursatildi. Uz ishine alınǵan bıytlar: 1 1 1 1 1 1 1 1.Eń ung bitning kiymati - 1, keyingi rakam- 2, keyin- 4... Bul túrde segizta birlik bıytlardıń ulıwma yigindisi 1q2q4q... q125q255 (2 segiz dárejesinde -1) boladı. 01000001 2- lik sanǵa birlik bıytlardı kiymatlari 1 hám 64 (t. Y. 65) boladı, lekin 01000001 2-lik san “A” xarfni xam kursatadi. Sonıń menen birge, 01000001 bıyt “65” sannı xam, “A” xarfni xamkursatadi: eger programma arifmetik xisoblarida maǵlıwmatlar elementin aniklasa, 01000001 bıyt “65” sanǵaekivalent bulgan 2- lik sannı kursatadi;eger programma suwretleytuǵın maǵlıwmatlar elementin aniklasa, 01000001 bıyt hárip yamasa qatardı kursatadi. Solfarklar programmalastırıwda túsinikli boladı, sebebi programmada xar bir elementti kiymati aniklab alınǵan. Sanlardıń 16 -li kurinishi. Boljaw kilaylik, yaddaǵı ayırım báyitler quramını kurmokchimiz. Onıń ushın 4 dane ketma - ketbáyitler quramını aniklashimiz kerek.4 báyit 32 bıyt bulganligi ushın muttaxassislar 2 - lik sanlardı “stenografik” kursatish metodınislep chikdilar. Bul metod buyicha xar bir báyit ekige bulinadi hám xar bir yarımbayt tiyisli kiymatlarmenen kursatiladi. Kuyidagi 4ta baytni kurib chikamiz.2-li: 0101 1001 0011 0101 1011 1001 1100 1110 10 -li: 5 9 3 5 11 9 12 14Sebebi bizde kanday bolıp tabıladı 10 - lik sanlardı kursatish ushın ekew rakam kerek, sol sebeplisanok sistemanı keńeytiremiz Endi 10q A, 11q V, 12qS, 13qD, 14qE, 15qF. Sonıń menen birge, bizyukorida kursatilgan báyitler kiymatini kursatishning kiskaytirilgan formasına iye buldik: 59 35 V9 SE Shunaka sanok sisteması uziga 0 den F ge shekem “rakamlarni” kushadi. Bul “rakamlar” 16 -ta.Sol sebepli bunday sanok sisteması 16 -li kurinishda dep aytıladı.16 -li formatı Assembler tilinde kup isletiledi. 16 -li formatda programmalardı assemblerlashtirishnilistingida xamma adresler, komandalardı mashina kodı hám konstantalr ishindegi zatlardı kiritiledi.Assembler programmasıda 16 -li sannı indeksiya etiw ushın, sandan keyin “N” belgisi kuyiladi. Mısalı,25N (dawıslı kiymati 37) 16 -li sanlar xar mudam 10 -li 0-9 rakamlardan baslanadılar. Sonday, B8Nrakami 0V8N dep jazıladı. Segmentler. Paragrafnıń shegarasıdan baslanatuǵın oblast segment dep ataladı, bul 16 ǵa koldiksizbulinadigan adres bolıp tabıladı. Segment yadnıń xar kanday orında jaylasqan bulishi múmkin jáne onıńúlkenligi 64K baytgacha jetedi. Sonday bulsada programmanıń islewi ushın kancha yad kerek bulsasegmentke xam sonsha yad kerek boladı. Ush tiykarǵı segmentler bar:1. Kodlar segmenti. Kodlar segmenti atqarıladıǵan mashina kodların uz ishine alǵan.
Maǵlıwmatlar segmenti. Maǵlıwmatlar segmenti birpara maǵlıwmatlar, kostantalar hám programmaǵakerekli jumıs atqaratuǵın oblastlarni saklaydi.3. Stek segmenti.2. Mikroprotsessorning programma modeli. registrlar.Assembler tilin úyreniwden aldın hám programmalash ushın kompyuterdiń mikroprotsessorkismi jáne onıń qurawshıların jaqsı biliw kerek.Programma dúziwde paydalanatuǵın mikroprotsessorning qurawshılarınmikroprotsessorning programma modeli dep ataladı hám olar 32 dane registrlardan shólkemlesken. Registrlar. 8086/8086 protsessorlarda 14 registrlar bar. Sol registrlar atqarılıp atırǵan programmanı boshkarish,yadnı adreslestiriw hám arifmetik xisoblari ushın isletiledi. Xar bir registr suz (16 -bıyt) uzınlıǵınaiye hám atı (atı) menen adreslestiriledi. Registrlarni bıytları ungdan baslap nomerlengen:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 080286 hám 80386 protsessorlarda kushimsa registrlar bar. Olarda birparaları 16 - bıytlıq.CS, DS, SS, hám ES segment registrlari.Xar bir segment registri 64K yadnı adreslestiredi hám ádetdegi (tekushiy) segment dep ataladı. I. CS registri. Kodlar segment registri kodlar segmenti baslanǵısh adresine iye. Sol adres hámkomandanıń jılısıwı úlkenligi (IP), komandanı adresin aniklaydi. Ápiwayı programmaları ushın CS registrigakursatishni keregi júk. II. DS registri Maǵlıwmatlar segment registori maǵlıwmatlar segmentin baslanǵısh adresine iye.Bul adres hám komandada aniklangan jılısıwdı úlkenligi maǵlıwmatlar segmentiniń konkret kataginikursatadi. III. SS registri. Stek sagmentni registri stek segmentinde baslanǵısh adresin saklaydi. IV. ES registri. Ayırım qatar ústindegi operatsiyalar yad adresatsiyasi ushın kushimcha segmentregistrini isletediler. Bul jerde ES registri indeks registri DI menen boglangan. Eger ES registriniisletiw zárúr bulsa, asembler programması onı urnatishi kerek.Ulıwma maksadli registrlar: AX, BX, CX, hám DX.Assemblerda programmalastırıwda, ulıwma maksadli registrlar “jumısshı” registrlar esaplanadi. Bulregistrni bir pútkil suz yamasa bir baytli kismdek adreslew múmkin. Shep bayti úlken (tungich) kismboladı (high), ung bayti bolsa kishi (genje) kism (low). Mısalı, CX 2- baytli registr ikkta bir baytliCN hám CL registrlardan ibarat hám xar kanday ush atı menen registrga murojat etiw múmkin.Kuyidagi ush assembler komandalar CX, CH hám CL registrlarga tiyislishe nollarni jiberedi. MOV CX, 00 MOV CH, 00 MOV CL, 00 1) AX registri. AX registri tallagich bolıp tabıladı. Ol xamma kirgiziw hám chikarish operatsilar hám birpara qatarlardıústindegi operatsiyalar ushın isletiledi. Mısalı, kupaytirish hám bulish, jılısıw komandalar AXregistrni isletiwedi. Birpara komandalar, eger AX registrga murojat etiwsa, efektivrok kodına iyeboladılar: AX:! AH! AL! 2) BX registri. BX registri tayansh (baza) registri bolıp tabıladı. Bul bir ǵana, “indeks” sıpatında keńeytirilgenadreslestiriw ushın ulıwma maksadli registri bolıp tabıladı. BX:! BH! BL! 3) SX registri. SX registri schetchik bolıp tabıladı. Ol siklarni kaytarilishini boshkarish, shepke hám oǵanjılısıw operatsiyaları ushın isletiledi. SX registri esaplaw ushın xam isletiledi. SX :! CH! CL! 4) DX registri. DX registri maǵlıwmatlar registri bolıp tabıladı. Ol birpara kirgiziw chikarish operatsiyalr ushınisletiledi. VA (shunaka) úlken sanlardaǵı (kaysi DX hám AX registr jupin isletirsa) kupaytirish hámbulish operatsiyalar ushın isletiledi. DX : ! DH ! DL ! Xar bir ulıwma maksadli registrlar kushish hám ayırıw ushın 8- li xam, 16 - li bıytlar xam isletiwimúmkin.Registr kursatkichlar: SP hám BPSP hám BP registr kursatkichlar sistemaǵa stek segmentinde maǵlıwmatlarǵa kiriw yulinitámiyinleydi Kemnen-kem, olar kushish hám ayırıw operatsiyaları ushın isletiledi. 1. SP registri. Stek kursatkichi yadta stekni isletiwdi támiyinleydi;vaktincha adres hám maǵlıwmatlardı saklaydi. Sol registr stekni adreslew ushın SS registri menenboglangan. 2. BP registri. Bazanıń kursatkichi parametrlerge maǵlıwmatlarǵa hám stek orkali beripjiberilgen adreslerge kiriw yulini jeńillestiredi.Indeks registrlar: SI hám DI.Xar eki indeks registrlarini keńeytirilgen adreslestiriw ushın hám kushish ayrishoperatsiyalarda isletiw múmkin. 1. SI registri. Bul registr tekstler indeksi bolıp tabıladı. Bul qatarlardaǵı birpara operatsiyalar ushın isletiledi. Solkondeksda SI registri DS registri menen birlestirilgen. 2. DS registri. Bul registr tapsırik indeksi bolıp tabıladı hám qatarlar operatsiyalar ushın isletiledi. Sol kontekstteSI registri ES registri menen boglangan.Komanda kursatkich registri: IPIP registri atqaratuǵın komandaǵa jılısıwıwdı saklaydi. Ádetde, programmada bul registrisletilmaydi. Bayrok registri.Bayrok registrida 16 bitdan tukkistasi aktiv boladı. Olar mashinanı házirgi (ádetdegi) xolatinihám orınlawlar nátiyjelerin aniklaydilar. Kup arifmetik komandalar hám kiyoslash komandalar bayroklarxolatini uzgartiradi. Bayrok bıytlardı wazıypaları: 3-súwret. I 486 hám Pentium mikroprotses-sorlarining paydalanıwshı registrlari. Paydalanıwshı registrlar dep atalıwıǵa sebep programmaǵa bul registrlardan óziniń programmasinijazıwda tolıq paydalanıwı múmkin. 8 dane 32 bitli registrlar (malumotlarni hám adreslerdi saqlaw ushın). Bul registrlarga tómendegiler kiredi. YA'na bul registrlarni ulıwma wazıypalarǵa mólsherlengenregistrlar dep júritiledi. Eax, ax, ah, al ; Ebx, bx, bh, bl ; Edx, dx, dh, dl ; Ecx, cx, ch, cl ; Ebp, bp ; Esi, si ; Sdi, di ; Esp, sp . 6 ta segment registrlari cs, ds, ss, es, fs, gs. Xolat hám basqarıwshı registrlar. Bayraq registrlari eflags, flags. Buyrıqlar kórsetkishi registrlari eip, ip.
Assembler tili boshka programmalastırıw tillerine uxshash uzining alfaviti hám múmkin bulgan belgilerine iye: 1. Lotin álippesiniń A den Z ge shekem bulgan baspa xarflari hám a den z ge shekem bulgan kishijazba xarflar. 2. 1 den 9 ge shekem bulgan rakamlar hám 0 kiredi. 3. q,-, *, /, <, >, @, &, #, ¤ belgileri.Bunda @ -ampersand, (kommerticheskiy ett). Bunnan tashkari bul belgilerdińkombinatsiyalarınan dúzilgen belgiler xam isletiliwi múmkin. Olar ishinde katorni utkazib jiberiwbush jay sıyaqlı belgiler bulishi múmkin. Programmalastırıwda baspa hám jazba xarflar bir- birinen fark kilinmaydi. Arnawlı belgilerdiń funksiyaların kuyidagi kestede keltiremiz.
Assembler tiliniń konstruksiyası. Operatorlar. Baslanǵısh model assembler tilin ketma - ket operatorlarınan shólkemlesken. Ápiwayı halda operatorlar bir qatarda ańlatpalanadı. Ayırım qallarda operatorlardı birden artıqqatarǵa sham jazıw múmkin. Bul xolatda jańa qatardaǵı operatorlardı qatar dawamchisini kórsetiwushın & ampersand belgisinen paydalanıladı. Assembler operatorlardı erkin túrde qabıl etedi, yaǵniyoperator elimentlari ushın anıq ústin belgilengen, olar arasında qálegen muǵdarda probellar bolıwımúmkin. tómende assembler tili operatorlarına mısal keltirilgen: MOV CX, ARRAY [SI]; Ápiwayı buyrıqlı operatorlar; MOV CX, ARRAY [SI]; Aldınǵı operatorǵa ekvivalent; MOV CX, & ARRYY [SI]; Jazıw múmkin, tek ápiwayı emes; TRUE EQU OFFN; Assembler direktivasi; CODE SEGMENT; Assembler direktivasi; WVAL DW 0 ; Yadnı initsializatsiyalash; NEXT: ADD AL, DH; Belgilengen operator; MOV ES: ROW [DI], BL; Segmentti almastırıw; WAIT: LOCK XCHG AL, SEMA; perefiks ximoyasi.
Baslanǵısh modelde opretsiyalar buyrıq operatorları, maǵlıwmatlardı bólistiriw operatorları hámassembler direktivalari sıpatında klassifikatsiyalanadi. Ayırım qallarda malumotlarni bólistiriw operatorları direktivalarga taluqli boladı. Buyrıq operatorları mashina buyrıǵını assemblerdagi generatsiyasini anıqlap; olar mnemomikhám (májburiy emes) bir yamasa ekew operanddan ibarat boladı.PDF created Operandlar hám olardı adreslew rejimleri. Aldınǵı temalarda biz operandlarni qay jerde jaylasıwın jáne onıń maydan tashkiletiwshılerin jazıw haqqında tanıwǵan edik.Usı bólekde bolsa bul sorawlarǵa tolıqlaw hám sistemalasqan túrde juwap beramiz. Bul bolsa bizgekeyingi temalarda tuwrıdan -tuwrı assembler tilinde ámeliy programmalar dúziwdi úyreniwgeótiwge múmkinshilik beredi. Operandlarni mikroprogramma ortalıqında ámeldegi bolmaǵan túrde ańlatılıwı. Bul xolatda buyrıq tuwrıdan -tuwrı operandga iye bolmaydı. Buyrıqdı atqarılıw algoritmı ayırımobyektler (registrlar, eflags registridagi bayraqlar hám bas,) ústinde qollanıladı. Mısalı: cli hám sti buyrıqlarında operandalar ko'rsatilmaydi, ápiwayı túrde eflags registridagi ifúzilis bayraǵina menen isleydi. Xlat buyrıǵı bolsa ds:bx jup registrlari tárepinen anıqlanǵan adres boyınsha yad qatarına hám alregistriga shaqırıq etedi. Operandni buyriqni ózinde kórsetiliwi (tikkeley operand). Operand buyrıqlar kodında jaylasqan, yaǵnıy onıń bir bólegin quraydı. Bunday operandnibuyrıqda saqlaw ushın uzınlıǵı 32 bıyt ge shekem bolǵan maydan ajratıladı. Tikkeley operand fakat ekinshi operand (derek) sıpatında bolıwı múmkin. qabıl etiwshioperand yaddan yamasa registrdan iborot bolıwı múmkin. Mısalı: mov ax, 0ffffh ; ax registriga ffff 16 lik ózgermeytuǵındı uzatıw. Add sum, 2; sum adresi boyınsha quraytuǵınǵa 2 pútkil sannı qosıw hám nátiyjeni birinshioperandga, yaǵnıy yadqa jazıw. Operandni registrlardan birinde bolıwı. Registrli operandlar registr atları menen kórsetiledi. Registrlar sıpatında tómendegilerdi isletiw múmkin. 32-razryadlı registlar: EAX, EBX, EDX, ECX, ESI, ESP,EBP; 16 -razryadlı registlar: AX, BX, DX, CX, SI, DI, SP, BP; 8-razryadlı registlar: AH, AL, BH, BL, CH, CL, DH, DL; Mısalı: add ax, bx ; ax hám bx registrlaridagi qurawshılardı qosadı hám nátiyje ax registrigajazıladı. Dec si; ni quraytuǵınsın birge azaytadı. ki dx registri ma`nisi xolida kórsetiw múmkin. Sońǵı usıl programmada port nomerindinamikalıq túrde anıqlawǵa múmkinshilik beredi
Buyrıq qandayda bir bir operandga iye bolmaytuǵını, bir yamasa ekew operandga ıyelewi shammúmkin. Kóplegen buyrıqlar ekew operandni bolıwın talap etedi. Bir operandni jaylasıwı registerda yamasa yadta bolıwı, ekinshi operandni jaylasıwı bolsaregistrda yamasa tikkeley buyrıqda bolıwı zárúr. Tikkeley operand tek derek-operandi bolıwımúmkin. Eki operandli mashina buyrıǵıda operandlar tómendegi tártipte kórsetiledi: Registr-registr; Registr-yad; Yad-registr; Tikkeley operand-registr; Tikkeley operand-yad. Adreslew rejimleri. Qálegen programmani atqarılıwında protsessor buyrıq hám maǵlıwmatlarjaylasqan yadqa shaqırıq etedi. Maǵlıwmatlardı ózgertiriwshi buyrıqlar, kerekli maǵlıwmatlardı jaylasıwın kórsetiwshiadresler anıqlanadı. Adreslestiriw. 00 - yad minimal adresinen baslap yadnı xar bir katagi izbe-iz nomerlengen.Protsessor yadnı báyitlerge yeki suzlarga yul ashıp beredi. 1025 dawıslı sannı kuraylik. 16 -li sanok sistemada bul san 0401 boladı. Sol sannı yadqa yezishushın ikta báyit yeki bir suz kerek. Bul san 04 - úlken kismdan hám 01 - kishi kismdan ibarat. Yad kataglarini kurish.Yad kateklerin ishindegilarni kurish ushın DOS DEBUG programması isletiledi. Bul programmanıboshkarish ushın DEBUG ni kiritip, Enter ni basıw kerek. Sonday keyin DEBUG programması disktanyadta juklenedi. Júklewden keyin ekranǵa sızıqsha (-) usınıs chikadi. Endi DEBUG programmasıkomandalardı kabul etiwge tayer. D - yadnı dampi - bul mashkga tiyisli jalǵız - birden-bir komanda bolıp tabıladı. 1. Yad úlkenligi. Aldın islew ushın múmkin bulgan yadnı úlkenligin tekseremiz. Yadúlkenligi kompyuter modellerine boglik boladı.Onıń kiymati ishki ishki tutastırǵıshlardı urnatishlar menen boglik. Jáne onıń kiymati real boglikshamadan kishirok bulishi múmkin. Bul kiymati 16 lik 413 hám 414 yadnı kateklerinde bolıp tabıladı, jáne onıDEBUG den ekew kismdan ibarat bulgan kurinishdan kurish múmkin: - 400 - segmentti adresi; 40 dek yeziladi (sońǵı noli názerde tutıladı); hám - 13 - segmentti baslanıwıda jılısıwı. Sonday, kuyidagi talaptı kirgiziw múmkin: D 40 : 13 (hám Enter ni basıw). Ekranǵa chikarilgan ekew birinshi báyitler kilobaytda hám 16 lik kurinishda yadnı úlkenligin saqlaydi 4. Assembler translyatori. Programmalardı initsializatsiyalash hám kompilyatsiyalash. Yad hám registrlar. Komandlarda atlardı, kvadrat kavsdagi atlardı va sanlardi paydalanıw ayrıqshalıqlardı kuraylik, kuyidagi máselelerde WORDA yadta suzni aniklaydi: MOV AX, BX; BX dıń ishindegi bar zatlardı AX ni registrga yubrish. MOV AX, WORDA; WORDA ni ishindegilarni AX ga jiberiw. MOV AX,[BX]; AX ga VX registrini adredagi yadnı;ichidagi zatlardı jiberiwge. Bul jerde kvadrat kavslar menen paydalanıw jańa bolıp tabıladı.
2. M. Eshmurodova, G. Yusupova, M. Ochiulov “Kurs ishlarini bajarish bo’yicha uslubiy ko’rsatmalar” 2011y 3. G’ulomov S.S va boshqalar. Axborot tizimlari va texnologiyalari. T: Sharq, 2000y 4. Aripov M.M. va boshqalar. Informatika. Informasion texnologiyalari. Toshkent: TDYuI,2005 5. L M. Goldenberg, V. A. Malev. - Sifrove ustroystva i mikroprosessorne sistem. Moskva: «Radio i SVYaZ», 1992. 6. L Prager. - Osnov vchislitelnoy texniki. Moskva, Vsshaya shkola, 1973. 7. L I. Shegoleva, A. F. Davdov. - Osnov vchislitelnoy texniki i programmirovaniya. Ленинград, Energoizdat, Leningradskoe otdelenie, 1981. 8. A. Orlov, V. F. Kornyushko. - Osnov vchislitelnoy texniki i organizasiya vchislitelnx rabot. - Moskva, Energoatomizdat, 1984. Elektron resurslar. 1. http://www.dials.ru 2. http://www.cotfrum.ru 3. http://www.ziyonet.uz Download 212.72 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling