Muhammad al-Xorazmiy nomidagi Toshkent Axborot Texnalogiyalar
Download 55.14 Kb. Pdf ko'rish
|
Islomjon Muhammadjonov 732-21 guruh talabasi
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 55.14 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling