52.Буйруқларнин қандай форматлари ва хилларини биласиз? Адреслаш, бошқариш оқими ва узилишлар ҳақида тушунчалар беринг.
Буйруқларнинг форматлари ва типлари. Буйруқ – амал коди, ушбу амалда қатнашаётган операнда ёки операндалар қаердан олиниши ва натижа каерга ёзилиши кераклиги ҳақидаги ахборотлардан иборат бўлади. 2-расмда командалар тўплами архитектураси сатҳига оид буйруқлар форматларининг бир нечта хиллари келтирилган.
2-расм. Буйруқлар форматларининг тўртта типи.
а) адрессиз буйруқ; б) бир адресли буйруқ;
в) икки адресли буйруқ; г) уч адресли буйруқ.
Буйруқларда амал коди (рус тилида – код операции) ҳар доим бўлади, аммо адреслар эса буйруқларда бўлмаслиги ҳам мумкин. Бундай буйруқлар адрессиз буйруқлар деб аталади. Қолган хил буйруқлар эса битта, иккита ёки учтагача адреслар иштирок этиши мумкин.
MOVE R1, 4 – бир адресли буйруқ; ADD R1, R2 – икки адресли буйруқ.
Хар бир буйруқ маълум ахборотни ўз ичига қоплаш керак. У қуйдагиларни аниқлаши лозим:
Амални, амални аниқлайдиган қисм, “амални коди” деб аталади (КОп);
Маълумотларни манбайи. Ушбу маълумот манзил майдонида (адресное поле) жойлашади. Арифметик ёки мантиқий амални (операция) тегишли маълумотни (данные) номи операнд дейилади. “Кўшилсин” ёки “кўпайтирилсин” буйруқлар иккита операндларни талаб қилади. “Сурилсин” буйруқга ўхшаган буйруқлар битта операндни талаб қилади;
Натижани жойлаштириш манзилини;
Кейинчалик буйруқнинг манбайини.
2 расм
Кўриниб турибдики ушбу буйруқларни узунлиги анча катта бўлади ва ушбу холат компьютерни ишлашини қийнаб қуйиши мумкин. Шу сабабли буйруқларни форматини турли йўллар билан қисқартирилади. Масалан, дастурий санагич ёрдамида унга биринчи адрес (манзил) жойлаштирилса, марказий процессор хар гал дастурни хотирасига мурожат қилганда санагич ўзида ёзилган адресга бир қўшиб боради ва ушбу йўл билан кейинги адресни (манзилни) аниқлаб беради. Натижаларни эса алохида манзилга ёзмасдан биринчи ёки иккинчи операндни манзилга жойлаштириши мумкин. Булардан ташқари буйруқларни форматини кичкайтириш учун яна бир неча усуллар ишлатилади. Шундай қилиб буйруқларни хилларигакелсак, буйруқлар бир адресли, икки адресли, уч адресли, яни адресларни сонига қараб ажратилади. Умуман айтганда ШК-ларда энг кўп икки адресли буйруқлар ишлатилади.
Буйрукларни турларига келсак, уларни асосан 4 гурухга бўлиб чиқиш мумкин:
Маълумотларни (данные) ўзгартирувчи буйруқлар;
Маълумотларни узатувчи буйруқлар;
Дастурни бошқарувчи буйруқлар;
Компьютерни холатини белгиларини (признаки)бошқарувчи буйруқлар.
1. Гурухга арифметик-мантиқий, сурилиш, солиштириш ва махсус амалларга тегишли буйруқлар қиради.
2. Гурухга хотирага мурожат қилувчи, киритиш-чиқариш, процессорни ички алмашинув ва стек билан амаллар бажарувчи амаллар киради.
3. Дастурни бошқарувчибуйруқлар дастурни бошқарилишини хотирани бир қисмидан бошқа бир қисмга узатадилар, масалан шартли ўтиш, ёки шартсиз ўтиш, тўхташ в.х.к.
4. Гурухга тегишли буйруқлар маълумотларни ўзгартирилишига алоқаси йўк, улар фақат бошқариш функцияларига тегишлидир.
Буйруқларнинг типлари:
1.Маълумотларни кўчириб ёзиш буйруқлари – LOAD, STORE, MOVE.
2.Иккита операндалар устида амаллар бажариш буйруқлари - ADD, SUB, AND,OR.
3.Битта операнда устида амаллар бажариш буйруқлари - INC, DEC, NOT, RL.
4. Таққослаш ва шартли ўтиш буйруқлари - CMP.
5. Дастур ости дастурларини – подпрограммаларни чақириш буйруқлари - CALL.
6.Циклларни бошқариш буйруқлари.
7.Маълумотларни киритиш чиқариш буйруқлари – IN, OUT.
Адреслаш. Бошқариш оқими ва узилишлар.
Кўпгина буйруқлар жойлашган ўринлари кўрсатилиши керак бўлган операндалар билан ишлайди. Операнданинг жойлашган ўрнини кўрсатиш адреслаш деб аталади. Адреслашнинг қуйидаги типлари ёки режимлари мавжуд:
1.Бевосита адреслаш режими.
2.Тўғридан-тўғри адреслаш режими.
3.Регистрлар ёрдамида адреслаш режими.
4.Регистрлар ёрдамида билвосита адреслаш режими.
5.Индексли адреслаш режими.
6.Нисбий индексли адреслаш режими.
7.Стекли адреслаш режими.
Дастурни ишлаши давомида ундаги буйруқларнинг бажарилиш кетма-кетлиги - бошқариш оқими деб аталади. Ўтишлар ва подпрограммаларни чақиришлар бўлмаса, буйруқлар хотиранинг кетма-кет ячейкаларидан чақириб олиниб бажариладилар.
Агар асосий дастурни ишлаши давомида бошқа бир дастур, яъни подпрограмма чақириладиган бўлса – узилиш (рус тилида – прерывание) содир бўлади. Бунда асосий дастурнинг буйруқларини хотирадан кетма-кет чақириш тўхтатилиб, янги ишга туширилган дастурни – подпрограммани бажариш йўлга қўйилади. Подпрограмма ишлаб бўлгандан сўнг эса, асосий дастурга қайтилади ва аввалги кетма-кетлик тўхтатилган жойидан бошлаб бажарилиши йўлга қуйилади.
Тўғридан-тўғри регистрли адреслаш
Ушбу усул дастурларда анча кўп маротаба ишлатиладиган операндлар учун мўлжаланган. Унинг учун махсус регистрли ОХ ташкил қилинади. Албатта ушбу махсус ОХ умумий ОХ-дан анча кичик бўлади ва унда маълумот қидириш учун кетган вақт деярли сарфланмайди ва амал тезкор бажарилади.
Бевосита адреслаш
4 расм. Бевосита адреслаш.
Буйруқни адрес майдонида адрес жойлашмайди, унинг ўрнида операндни ўзи жойлаштирилган бўлади. Ушбу усул тезкорликни ошириш ва ОХ-ни хажмини қисқайтириш мақсадида турли константалар махсус регистрларда олдиндан ёзилиб кўйилган бўлади.
Белвосита адреслаш
Буйруқнинг адрес майдонида ўз ичида бажараладиган адресни ушаб турган адрес ёзилган бўлади.
Тўғридан-тўғри адреслаш
Ушбу усул операцион хотирада маълумотларни қидиришда ишлатилади ва буйруқни манзил
6 Расм. Тўғридан-тўғри адреслаш
майдонида жойлашган адрес опер. хотирасида сақланадиган операндни адреси билан бир-хил бўлади. Компьютерда ушбу усул юқорида кўрсатилган усуллар билан комбинация кўринишда ишлатилади.
Do'stlaringiz bilan baham: |