• 0B00 adresi bo‘yicha yozilgan sonni o‘qiydi, uning inkorini aniqlaydi, hamda natijani 0B01
  • Nigmatov X




    Download 9,08 Mb.
    Pdf ko'rish
    bet23/68
    Sana13.05.2024
    Hajmi9,08 Mb.
    #229420
    1   ...   19   20   21   22   23   24   25   26   ...   68
    Bog'liq
    Nigmatov X

    ADD
    , ayrish – 
    SUB
    , ko‘chirib yozish –
    MOV
    , bir qiymatga orttirish – 
    INC
    va boshqa mashina 
    buyruqlari kabi. Assembler tilida ham – konstantalarni, o‘zgaruvchilarni, xotira 
    adreslarini ifodalovchi metkalarni tavsiflash uchun, simvollardan iborat nomlar 
    qo‘llaniladi. Assembler tilida yozilgan dasturni assemblerlash yoki translyasiya 
    (kompilyasiya) qilish natijasida, real apparat muhitda - Pentium 4, Motorola, 
    UltraSPARC yoki 8051 protsessorlaridan biri o‘rnatilgan kompyuterda bajarilishga 
    tayyor 
    ikkilik sonlarda ifodalangan
     
    dastur hosil bo‘ladi. Ushbu xolatni UMPK-80M 
    o‘quv mikroprotsessorli komplekti uchun yozilgan, 4.1-rasmda keltirilgan dastur 
    yordamida tushuntirish mumkin. Bu dastur tezkor xotira qurilmasining 
    0B00 
    adresi 
    bo‘yicha yozilgan sonni o‘qiydi, uning inkorini aniqlaydi, hamda natijani 
    0B01
    adresi bo‘yicha tezkor xotira qurilmasiga qaytib yozib qo‘yadi.
    Dasturlarni yozishda barcha sonlar o‘n oltilik sanoq sistemasida ifodalanadi. 
    Dasturdagi buyruqlar - 
    bir, ikki yoki uch baytli
    bo‘lib, mos holda hotiraning bitta, 
    ikkita yoki uchta yacheykasini egallashlari mumkin. Buni 4.1-rasmdagi dasturni 
    assemblerlagandan keyingi holatini ko‘rsatuvchi 4.2 va 4.3- rasmlar asosida 
    tushunib olish mumkin. 
    Buyruqlarning formatlari qanday ekanligini tushinib olish uchun, dasturni 
    4.4-rasmdagi bitta qatorda, bitta buyruq keltirilgan ko‘rinishda yozib olamiz. Bunda 
    har bir buyruqning boshlang‘ich adresi ko‘rsatiladi va buyruqning uzunligiga qarab 
    (
    1, 2
    yoki 
    3
     
    baytli buyruq), u xotiraning ketma-ket joylashgan 
    1, 2
     
    yoki
     
    3
    -
    ta 
    yacheykasini egallaydi. 


    61 
    4.1-rasm. Xotirada yozilgan sonni inkorlash dasturi. 
    4.2-rasm. Assemblerlangan dastur. 


    62 
    4.3-rasm. Dasturni xotira adreslari bo‘yicha joylashishi. 
    4.4-rasm. Dasturni bitta qatorda, bitta buyruq keltirilgan 
    ko‘rinishda yozilgan holati. 
    Assembler tilida ishlash oson emas. Biron bir dasturni assembler tilida 
    yozish, o‘sha dasturni C, C+ va Java kabi dasturlash tillarida yozishga nisbatan ko‘p 


    63 
    vaqt talab qiladi. Assemlerda dasturni to‘g‘ri ishlaydigan holatga keltirish ham (rus 
    tilida – otladka programmы) juda ko‘p vaqt talab qiladi. Shunday ekan assemblerda 
    dasturlash nima uchun kerak - degan savol paydo bo‘ladi. Bunga asos qilib quyidagi 
    ikki sababni ko‘rsatish mumkin: assembler tilida tuzilgan dasturlar unumdorligining 
    yuqori bo‘lishi (rus tilida - vыsokaya proizvoditelьnostь programm) va ularda 
    kompyuterning apparat vositalariga to‘g‘ridan-to‘g‘ri murojaat qila olish 
    imkonining borligi. Yuqori malakaga ega bo‘lgan dasturchi, assembler tilida, yuqori 
    sath tilida tuzilgan dasturga nisbatan, ancha kam xotira egallaydigan va anchagina 
    tez ishlaydigan dasturlarni tuzishi mumkin. Ko‘p xollarda, yozilgan dasturning 
    kamroq xotirani egallashi va tez bajarila olishi mumkinligi juda muhim ahamiyat 
    kasb etadi. Hozirda ko‘pgina o‘rnatiladigan amaliy dasturlar, masalan – smart-
    kartalardagi va uyali telefonlardagi dasturlar, har-xil qurilmalarning drayverlari va 
    BIOSning muolajalari (rus tilida – protsedurы) ana shunday dasturlar sirasiga kiradi.
    Assembler tilini o‘rganish bilan biz, kompyuterning qanday ishlashini va 
    uning ichki tuzilishi, ya’ni 
    arxitekturasi qanday ekanligini mukammal o‘rganish 
    imkoniyatiga
    ega bo‘lamiz.

    Download 9,08 Mb.
    1   ...   19   20   21   22   23   24   25   26   ...   68




    Download 9,08 Mb.
    Pdf ko'rish