Dasturlarni boshqarish Reja: 1. Kirish. 2. Qo'shish va ayrish. 3. Belgili emas va belgili ma'lumotlar. 4. Ko'paytirish. 5. DX:AX registr parani siljitish. 6. Bo'linish. 7. Belgini o'zgartirish. Tayanch so'zlar va iboralar: Ikkili arifmetika, Qo'shish, Ayrish, Arifmetik operatsiyalar, CLC komandasi, MUL komanda, IMUL komanda, Ko'paytirish, Bo'linish, Unumdorlikni ko'tarish, To'ldirib qolishlar, To'xtatilib qolishlar, Ayrish bilan bo'linish 1. KIRISh Kompyuter faqat ikkili arifmetika bilan ishlaydi (bazasi 2). Shundan tashqari, 16-bitli registr qo'yadigan cheklarlarni nazarga olib, katta miqdorlar maxsus ishlovni talab qilishadi. 2. QO'ShISh VA AYRISh. ADD va SUB komandalar ikkili ma'lumotlarni saqlaydigan bit yoki so'zlarni qo'shish va ayrish harakatlarni bajaradi. Kompyuterda ayrish harakati ikkili kushma bilan qo'shish usulda bajariladi: ikkinchi operand uchun bitni teskari qiymati qo'yiladi va 1 kushiladi. Keyin birinchi operandi bilan kushiladi. Birinchi qadamdan tashqari, qo'shish va ayrish operatsiyalar bir xil dir. Chunki To'g'ri xotira-xotira operatsiya yo'q, shunday operatsiya registr orqali bajariladi. Quyidagi misolda WORDB so'zni ichidagisiga WORDA so'zni ichidagilar kushiladi (DW deb tasvirlanganlar): MOV AX,WORDA ADD AX,WORDB MOV WORDB,AX to'lib ketish. Arifmetik operatsiyalarda to'lib ketishdan xavfsirang. Bitta bayt bitta belgili bitni va ettita ma'lumotlar bitlarini aniqlaydi. Boshqa so'zlab, 128 dan -127 qiymatlargacha saqlaydi. Arifmetik operatsiyasini natijasi bir baytli registrni xajmidan yengil ortish mumkin. Masalan, AL registrda uni xajmidan ortiq qo'shish natidjasi avtomatlashib AN registrga utmaydi. AL registr o'n oltili 60 ni saqlashini faraz qilaylik. Unda komandasini natijasi AL registrga o'n oltili 80 yig'indisini chiqaradi: ADD AL,20H Lekin, operatsiya to'lib ketish bayroini ham qo'yadi. Sabab shunda-ki, o'n oltili 80 yoki ikkili 100 musbat sondir. Boshqa so'zlab, +128 o'rniga -128 ni olamiz. Chunki AL registr shunday operatsiya uchun juda kichik bo'lgan, AX registr bilan foydalanish kerak. Quyidagi misolda CBW komandasi (Convert Byte of WORD - baytni so'zga aylantirish) o'n oltili 60 ni AL registrga o'n oltili 0060 ga aylantiradi. Shu bilan birga, belgili bitni (0) AN registr orqali yuborib beradi, endi ADD komandasi AX registrda To'g'ri natijani chiqaradi: o'n oltili 0080 yoki +128: CBW ;AL ni AX gacha kengashtirish ADD AX,20H ;AX ga qo'shish Ammo, to'liq so'zda ham cheklanishi bor: bitta belgili bit va 15 ma'lumotlar bitlari. Bu -32768 dan +32767 qiymatlargacha mos. Shu oraligidan ortiq sonlarni ishlov berishni ko'raylik. Ko'p so'zli qo'shish. Registrda maksimal mumkin bo'lgan qiymati +32767 kompyuterni imkoniyatlarni arifmetik operatsiyalarni bajarish uchun cheklanadi. Arifmetik operatsiyalarni bajarish ikta usullarni ko'raylik. Birinchi usuli - osonliroq, lekin o'ziga xos. Ikkinchi usuli murakkabliroq, lekin umumiy xususiyatga ega. CODESG SEGMENT PARA 'Code' ASSUME CS: CODESG,DS: CODESG,SS: CODESG ORG 100H BEGIN JMP SHORT MAIN WORD1A ...

Joylangan
05 Jun 2024 | 16:14:04
Bo'lim
Informatika va AT
Fayl formati
zip → doc
Fayl hajmi
24.27 KB
Ko'rishlar soni
86 marta
Ko'chirishlar soni
3 marta
Virus yo'q.
VirusTotal da tekshirish
O'zgartirgan san'a:
29.03.2025 | 00:24
Arxiv ichida: doc
Joylangan
05 Jun 2024 [ 16:14 ]
Bo'lim
Informatika va AT
Fayl formati
zip → doc
Fayl hajmi
24.27 KB
Ko'rishlar soni
86 marta
Ko'chirishlar soni
3 marta
Virus yo'q.
VirusTotal da tekshirish
O'zgartirish kiritilgan:
29.03.2025 [ 00:24 ]
Arxiv ichida: doc