• Mikroprotsessorlarni elementar dasturlash, haqida tushuncha
  • O‘zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi




    Download 470,25 Kb.
    bet59/80
    Sana20.02.2024
    Hajmi470,25 Kb.
    #159234
    1   ...   55   56   57   58   59   60   61   62   ...   80
    Bog'liq
    I. M. Bedritskiy, A. X-fayllar.org

    Inversiya, bu ikkilik sondagi barcha nullarni birga almashtirish, barcha birlarni-nullar bilan almashtirish. Masalan, ikkilik son 1100 0011 inversiyalash operatsiyasidan so‘ng 0011 1100 ko‘rinishga ega bo‘ladi.
    Inkrementatsiyalash-invesiyalangan ikkilik sonning oxirgi razryadiga birni qo‘shish. Masalan, inkrementirlangan ikkilik son 0011 1100, 0011 1101 ko‘rinishga ega bo‘ladi.
    Ayirish operatsiyasi misolini ko‘rib chiqamiz. 7 dan 3 olish kerak bo‘lsin. 7 soni ikkilik kodda-0000 0111, 3 soni ikkilik kodda-0000 0011. 3 soniga qo‘shimcha kodni topamiz, buning uchun, uni inversiyalaymiz va 1111 1100 olamiz, so‘ng inkrementatsiyalaymiz va 1111 1101 olamiz. Ikkilik koddagi 7 ga qo‘shimcha ikkilik koddagi 3 qo‘shamiz, shunda quyidagini olamiz
    0000 0011
    + 1111 1101
    =1 0000 0100
    Ayirish operatsiyalarida ifodadagi razryadlarni to‘lib ketishi natija uchun hisobga olinmaydi, shuning uchun javob 0000 0100 =4 to‘g‘ri hisoblanadi.
    MP ko‘paytirish va bo‘lish, xotira qurilmasiga joylashtirilgan (tikilgan), dasturiy algoritm bo‘yicha bajariladi. Ko‘paytirish algoritmi qo‘shish va surish operatsiyalaridan ketma-ket foydalanishni, bo‘lish algoritmi esa, ayirish operatsiyasidan (yoki qo‘shimcha kod bilan jamlashdan) ketma-ket foydalanishni nazarda tutadi.
      1. Mikroprotsessorlarni elementar dasturlash, haqida tushuncha

    MP barcha komandalari, adreslari va ma’lumotlari ikkilik son bilan kodlanadi. Masalan, 8-razryadli protsessorda, komandalar va ma’lumotlar 8-razryadli ikkilik sonlar, adreslar esa 16-razryadlik ikkilik sonlar. MP uchun har qanday dastur o‘z ichiga ikkilik sonlar kombinatsiyasini ketma-ketlikda yozilgan bajarishini oladi. Protsessorlarning har bir turi uchun komanda va adreslarni o‘zining shifrlash tizimi mavjud, shuning uchun mashinaga mo‘ljallangan dasturlash tillari (faqat ikkilik simvollardan foydalanib) noyob hisoblanadi, va boshqa turdagi protsessorlar uchun


    qo‘llab bo‘lmaydi.146
    Mashina kodidagi dastur nafaqat ma’lum ketma-ketlikdagi komandalar to‘plami, balki xotira yacheykalariga havola qilish hamdir, u yerda ma’lumotlar saqlanadi va komandalar bajarilgandan so‘nggi natijalarini qayerga yo‘naltirilishi kerak. Mashinaga mo‘ljallangan dasturlash tillari avtokodlar deb nomlanadi.
    INTEL 8080 MP avtokoddan foydalanib ikkita sonni qo‘shish misolini ko‘rib chiqamiz. Bu protsessor uchun, «Zagruzit» (“yuklash”) komandasi 10101101,
    «Slojit» (“qo‘shish”) komandasi-00111100, «Zapisat v pamyat» (“xotiraga yozish”) komandasi-10001101, «Prekratit rabotu» (“ishni to‘xtatish”) komandasi-00000000 kodga ega. Faraz qilamiz, qo‘shiladigan sonlar 102 va 203 raqamli xotira yacheykalariga joylashtirilgan, qo‘shish natijalarini esa 101 yacheykaga kiritish zarur. 20-jadvalda ikkita sonni qo‘shish dasturining ko‘rinishi keltirilgan. Avtokoddan foydalanib yozilgan dastur, qo‘pol ifodalanishi sababli, nol va

    146 Chris J. Georgopoulos Interface fundamenentals in Microprocessor-Controlled Systems. A member of the Kluwer academic publishers group. Greece, 2009. 203-205 p.
    birlardan tashkil topgan, past darajadagi ko‘rgazmalikga ega, chunki ularning ma’lum komanda va adreslari uchun kombinatsiyalarni yodda saqlash qiyin.
    20-jadval

    Ikkilangan kod


    operatsiyasi

    Adres va xotira


    Harakatni bajaruvchi


    xarakter

    1010 1101




    0110 0110 0000 0000




    Aychiykaning 102 birinchi muddatli


    yuklamasi

    0011 1100




    1100 1011 0000 0000




    Aychiykaning 203 saqlangan sekundiga


    birinchi muddatini qo'shish

    1000 1101


    0110 0101 0000 0000


    Aychiykaning 101 summasini yozish


    0000 0000




    Ishni tugatish


    MP dasturlarining ko‘rgazmalikligini yaxshilash uchun, 16 lik tizimda komanda va adreslarni kodlashdan tez-tez foydalaniladi. Masalan, oldin ko‘rib chiqilgan ikkita sonni qo‘shilish dasturi, 16-lik hisoblash tizimida 21- jadvalda keltirilgan quyidagi ko‘rinishga ega bo‘ladi.

    21-jadval147

    O’n oltilik kod


    operatsiaysi

    Xotirasidagi


    manzil

    Harakatni bajaruvchi


    xarakter

    AD

    11 00


    Aychiykaning 102


    birinchi muddatli yuklamasi

    6D

    GB 00


    Aychiykaning 203 saqlangan sekundiga birinchi muddatini qo'shish


    8D

    65 00

    Aychiykaning 101


    summasini yozish

    00



    Ishni tugatish





    147 Chris J. Georgopoulos Interface fundamenentals in Microprocessor-Controlled Systems. A member of the Kluwer academic publishers group. Greece, 2009.

    1. lik tizimda kodlash, dasturni yozish uchun ketadigan vaqtni qisqartirish imkonini beradi, kod va adreslarni oson identifikatsiya qilinadi, xatolarni topish osonlashadi, bu dasturlash jarayonini yengillashtiradi.


    Dasturning hajmini (uzunligi) oshishi bilan adres ro‘yxati va operatsiyalar kodini yodda saqlab qolish murakkablashadi. Ushbu muammoni yechish uchun, past darajadagi maxsus dasturlash tili ishlab chiqilgan-assembler.


    Assemblerda yozilgan dastur operatori (qatori) metkalar (belgilar), mnemokod
    (movhum kod), operand va komentariyadan (sharxlardan) tashkil topadi.

    Download 470,25 Kb.
    1   ...   55   56   57   58   59   60   61   62   ...   80




    Download 470,25 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O‘zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi

    Download 470,25 Kb.