27
Buyruqlarda amal kodi - har doim bo‘ladi, ammo adreslar esa
buyruqlarda bo‘lmasligi ham mumkin. Bunday buyruqlar adressiz
buyruqlar deb ataladi. Qolgan
xil buyruqlarda esa bitta, ikkita yoki
uchtagacha adreslar ishtirok etishi mumkin.
MOVE R1, 4 – bir adresli buyruq;
ADD R1, R2 –
ikki adresli
buyruq.
Buyruqlarning xillari:
1. Ma’lumotlarni ko‘chirib yozish buyruqlari –
LOAD, STORE, MOVE
(1.3-jadval).
2. Ikkita operandalar ustida amallar bajarish buyruqlari -
ADD, SUB,
AND, OR (1.4-jadval).
3. Bitta operanda ustida amallar bajarish buyruqlari -
INC, DEC, NOT,
RL.
4. Taqqoslash va shartli o‘tish buyruqlari -
CMP.
5. Dastur osti dasturlarini (rus tilida – подпрограмма)
chaqirish
buyruqlari -
CALL (1.5-jadval).
6. Sikllarni boshqarish buyruqlari.
7. Ma’lumotlarni kiritish-chiqarish buyruqlari
– IN, OUT.
1.3-jadval. Pentium 4 protsessorining ko‘chirib yozish buyruqlari.
29
1.5-jadval. Pentium 4 protsessorining boshqarishni uzatish buyruqlari.
1.6-jadval. Adreslash rejimlarini taqqoslash.
Dasturni ishlashi davomida undagi buyruqlarning bajarilish ketma-
ketligi
- boshqarish oqimi deb ataladi. O‘tishlar va dastur osti dasturlarini
chaqirishlar bo‘lmasa,
buyruqlar xotiraning ketma-ket yacheykalaridan
chaqirib olinib bajariladilar. Quyidagi misolda Pentium 4 assemblerida
I
2
+J
2
+K
2
ifodani hisoblash dasturi keltirilgan. Undagi buyruqlar xotiraning
ketma-ket yacheykalaridan chaqirib olinib bajariladi.
31
Agar asosiy dasturni ishlashi
davomida boshqa bir dastur, ya’ni
dastur osti dasturi chaqiriladigan bo‘lsa –
uzilish (rus tilida – прерывание)
sodir bo‘ladi. Bunda asosiy dasturning buyruqlarini xotiradan ketma-ket
chaqirish to‘xtatilib, yangi ishga tushirilgan dasturni –
dastur osti dasturini
(rus tilida – подпрограмма) bajarish yo‘lga qo‘yiladi (1.17-rasm). Dastur
osti dasturi ishlab bo‘lgandan so‘ng esa, asosiy
dasturga qaytiladi va
avvalgi ketma-ketlik to‘xtatilgan joyidan boshlab bajarilishi yo‘lga
quyiladi.
1.17-rasm. Asosiy dasturni ishlashi:
a) uzilishlarsiz;
b) uzilishlar bilan.