TOSHKENT AXBOROT TEXNALOGIYALARI UNIVERSITETI SAMARQAND FILIALI
KOMPYUTER INJENIRINGI FAKULTETI KOMPYUTER INJENIRINGI YO’NALISHI
KI-022-01- GURUH TALABASI MARDONQULOV ABDULBOSITNING
KOMPYUTERNI TASHKIL ETISH FANIDAN BAJARGAN AMALIY ISHI
13-variant
7-amaliy mashg’ulot
Mavzu:
Assembler tilida murakkab arifmetik amallarni bajarish.
Topshiriqning maqsadi:
Assembler tilida murakkab arifmetik amallarni bajarish.
Nazariy malumot:
Assembler tilida murakkab arifmetik amallar bajarish, umuman, bo'lgan jarayonlar bilan
o'zlashtiriladi. Bu amallar odatda ikkita yoki undan ko'p sonlar orasida bajariladi.
Assemblerda
murakkab arifmetik amallarni bajarishda, qo'shish, ayirish, ko'paytirish, bo'lish va boshqa
jarayonlar uchun maxsus amallar va buyurtmalar mavjud.
Aslida, assemblerda murakkab arifmetik amallarni bajarish odatda quyidagi tartibda bajariladi:
1. Ma'lumotlarni yuklash: Agar kerak bo'lsa, o'zgaruvchilarga ma'lumotlarni yuklash uchun
buyurtmalar ishlatiladi. Bu, amalga oshirish jarayonida kerakli ma'lumotlarni to'plangan va
o'zgartirilganini ta'minlashda muhim ahamiyatga ega.
2. Amal bajarish: Assembler tilida murakkab arifmetik amallarni bajarish uchun mos ravishda
bo'lgan amallar ishlatiladi. Misol uchun, `add` buyurtmasi qo'shish, `sub` ayirish, `mul`
ko'paytirish va `div` bo'lish amallarini amalga oshirish uchun ishlatiladi.
3. Natijani saqlash: Amal bajarilgandan so'ng, natija o'zgaruvchilarga saqlanadi.
Natijani
to'g'rilash uchun mos ravishda yuqori va pastga sig'adagi qolgan natija saqlanadi.
4. To'g'rilash: Agar natija to'g'ri formatga keltirilgan bo'lmasa, uni mos ravishda to'g'rilaydigan
buyurtmalar ishlatiladi. Bu, amal bajarilgandan so'ng olingan natija ustida muvaffaqiyatli
ishlaydi.
Assembler tilida murakkab arifmetik amallarni bajarish odatda ma'lumotlar strukturasi va
operatsion tizimiga bog'liqdir. Masalan, x86 architekturasi uchun xodimlar, xmm rejistriga
murojaat qilish uchun murakkab buyurtmalar va amallar ishlatiladi. Bundan tashqari, murakkab
arifmetik amallarni bajarish uchun maxsus dasturlar va tashqi ilovalar mavjud bo'lishi mumkin.
Amaliy qism:
𝑭
=
𝟔𝟓𝒉
&
𝒄
−
𝟐𝒃⨁
d
; F = 65h & c - 2b
⊕
d ni
hisoblash
; Ro'yxatdagi qiymatlarni faraz qilamiz:
; c = 1Ah, b = 3Ch, d = 58h
MOV AL, 65h ; AL ro'yxatiga 65h qiymatini joylashtiramiz
MOV BL, c ; BL ro'yxatiga
c qiymatini joylashtiramiz
AND AL, BL ; AL va BL ro'yxatlari qiymatlarini AND amali bilan hisoblaymiz
MOV BL, 2b ; BL ro'yxatiga 2b qiymatini joylashtiramiz
MOV CL, d ; CL ro'yxatiga
d qiymatini joylashtiramiz
XOR BL, CL ; BL va CL ro'yxatlari qiymatlarini XOR amali bilan hisoblaymiz
SUB AL, BL ; AL ro'yxatidan BL ro'yxatini ayiramiz
MOV F, AL ; Natijani F o'zgaruvchisiga joylashtiramiz