• Arifmetik operatorlar.
  • ) Assemblerning ma’lumotlarga ishlov berish operatorlari




    Download 0,59 Mb.
    Pdf ko'rish
    bet5/6
    Sana24.05.2024
    Hajmi0,59 Mb.
    #252819
    1   2   3   4   5   6
    2) Assemblerning ma’lumotlarga ishlov berish operatorlari
    Ma’lumotlarni qayta ishlash uchun Assembler tilining operatorlarini quyidagicha guruhlarga 
    ajratishimiz mumkin: 


    1.
    Arifmetik operatorlar
    2.
    Mantiqiy operatorlar
    3.
    Ma’lumotlarni uzatish operatorlar
    4.
    Bayroq-maydonlarni boshqarish operatorlar
    5.
    Siljitish operatorlar
    6.
    Zanjir(qator) ustida operatorlar
    Quyida shu operator turlariga batafsil to’xtab o’tamiz va ularning dasturda yozilish sintaksis 
    misollari bilan tanishib chiqamiz.
    Arifmetik operatorlar.
    Mikroprotsessorning arifmetik buyruqlari ikkilik va o’nlik (ikkilik 
    ko’rinishida kodlangan) sinf buyruqlarga bo’linadi. Ikkinchi ko’rinishidagi sinf buyruqlari 
    kamdan-kam ishlatiladi chunki ular hotira hajmini ko’p egallaydi.
    Barcha arifmetik buyruqlar ishorali va ishorasiz bo’lishi mumkin. Ishorali buyruqlar manfiy va 
    musbat sonllar ustida bajarilishi mumkin bo’lsa, ishorasiz buyruqlar esa faqat musbat sonlar 
    ustida.
    Assembler tilining arifmetik buyruqlarni to’rtda guruhga bo’lishni lozim topdik:
    1.
    Qo’shish operatorlari
    2.
    Ayirish operatorlari
    3.
    Ko’paytirish operatorlari
    4.
    Bo’lish operatorlari
    Shu guruh operatorlarini ko’rib chiqamiz.
    Qo’shish operatorlari:
    ADD (qushish) ikkita operand (so’z yoki bayt) yig’indisini hisoblaydi. Amal natijasi birinchi 
    operand o’rniga yoziladi.
    Misollar:
    ADD AX, BX ; AX-registrga BX-registrni qo’shish 
    ADD AX, Mem ; AX-registrga Mem-o’zgaruvchini qo’shish
    ADD Mem, AX ; Mem-o’zgaruvchiga AX-registrni qo’shish 


    ADD AL, 40 ; AL-registrga 40-o’nlik konstantani qo’shish
    ADD AL, 4Ah ; AL-registrga 4A-o’n oltilik konstantani qo’shish 
    ADD AL, 101010b ; AL-registrga 101010-ikkilik konstantani qo’shish
    ADD AL, 44o ; AL-registrga 44-sakkizlik konstantani qo’shish 
    Ushbu buyruqda ikkita o’zgaruvchi qiymatlarini va birinchi bo’lib konstanta ko’rsatish 
    ta’qiqlanadi, ya’ni xatoga olib keladi.
    ADD A, B
    ADD 10, AL
    INC (inkrement) operand qiymatini birga oshiradi
    .
    INC АХ ; AХ+1 
    Ayirish operatorlari:
    1. SUB (ayirish) birinchi operanddan ikkinchi operand qiymatini ayiradi (operandlar bayt yoki 
    so’z bo’lishi mumkin). Amal natijasi birinchi operand o’rniga yoziladi.
    Misollar:
    SUB AX, CX ; AX−CX → natijasi AX 
    SUB AX, Mem ; AX−Mem → natijasi AX
    SUB Mem, AX ; Mem−AX → natijasi Mem 
    SUB AL, 10 ; AL−10 → natijasi AL
    Ushbu buyruqda ham ikkita o’zgaruvchi qiymatlarini va birinchi bo’lib konstanta ko’rsatish 
    ta’qiqlanadi. 
    DЕC (dekrement) operand qiymatini birga kamaytiradi. 
    Masalan:
    DEC CХ ; CХ−1
    NEG (ishora belgisini almashtirish) nol’ qiymatidan operand qiymatini ayiradi
    . Natijasi operand 
    o’rniga yoziladi.


    Masalan:
    NEG АХ ; −(АХ) → АХ
    СМР (ikkita operandlarni solishtirish)
    birinchi operanddan ikkinchi operand qiymatini ayiradi, 
    SUB amalidan farqi shundaki u operand qiymatlarini o’zgartirmaydi natijasini bayroq-
    registrlarga o’rnatadi
    Misollar: 
    СМР АH, ВL ; (АХ)−(ВХ)
    CMP Mem, AX ; (Mem)−(AH) 
    CMP AL, 10 ; (AL)−10
    Ko’paytirish operatorlari:
    1. 
    MUL (ko’paytirish)
    ikkita ishorasiz sonlarni (so’z yoki bayt) ko’paytirish amalini bajaradi. Bu 
    buyruqda faqat bitta sonli operand ko’rsatiladi qaysiga ko’paytirish lozim. Bu operand registr 
    yoki operativ hotiradagi o’zgaruvchi bo’lishi mumkin. Ikkinchi ko’paytiriluvchi operand AL 
    registr qiymati (agar bayt amallari bo’lsa) yoki AX registr (so’zlarda). 16-bitli(bayt) ko’paytirish 
    natijasi AH(katta bayt) va AL(kichik bayt) registrlarda saqlanadi. 32-bitli(so’z) ko’paytirish 
    natijasi esa DX (katta so’z) va AX (kichik so’z) registrlarda saqlanadi. 
    Misollar:
    MUL BX ; ishorasiz BXni AXga ko’paytirish 
    MUL Mem ; ishorasiz Mem o’zgaruvchini AXga ko’paytirish
    MUL DL ; ishorasiz DLni ALga ko’paytirish
    Bo’lish operatorlari:
    1. DIV (bo’lish) ishorasiz ikkita sonni bo’lish amalini bajaradi. Bu buyruqda faqat bitta operand 
    (registr yoki operativ hotiradagi o’zgaruvchi) ko’rsatiladi qaysi bo’linuvchini aniqlaydi. 
    Bo’luvchi esa ikkilik o’lchamda berilishini inobatga olish lozim, ya’ni AH va AL registrlarda 
    agar bytli bo’lish amali bajarilsa, 32-bitli bo’lish amalida DX va AX registrlarida.
    Natijasi esa quyidagicha qayd qilinadi:

    agar 16-bitli bo’lish bo’lsa butun qismi AL registrda, qoldigi esa AH registrda;

    agar 32-bitli bo’lish bo’lsa butun qismi AX registrda, qoldigi esa DX registrda.

    Download 0,59 Mb.
    1   2   3   4   5   6




    Download 0,59 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    ) Assemblerning ma’lumotlarga ishlov berish operatorlari

    Download 0,59 Mb.
    Pdf ko'rish