13-маъруза: Операндларни адреслаш


Download 265.76 Kb.
Pdf ko'rish
Sana09.05.2023
Hajmi265.76 Kb.
#1448599
Bog'liq
13-маруза1 Операндларни адреслаш



13-маъруза
Операндларни адреслаш 
Процессор командаларининг катта қисми маълумотлар кодлари 
(операндлар) билан ишлайди. Айрим командалар кирувчи операндларни (бир 
ѐки иккита) талаб қилса, бошқалари эса чиқувчи операндларни (асосан битта) 
беради. Кирувчи операндларни бошқача қилиб манба операндлар, 
чиқувчиларини эса қабул қилувчи операндлар деб ҳам аташ мумкин (1-
жадвал). Операндлар кодларининг барчачи қаердадир жойлашиши керак. 
Уларни процессорларнинг ички регистрларигада жойлаштириш мумкин (энг 
қулай ва тезкор вариант). Уларни хотира тизимида ҳам жойлаштириш 
мумкин (энг кўп тарқалган вариант), ѐки уларни киритиш-чиқариш 
қурилмаларида жойлаштириш мумкин (энг кам учрайдиган ҳолат). 
Операндларнинг жойлашишини аниқлаш команда коди орқали амалга 
оширилади. Команда кодлари томонидан кирувчи операндни қаердан олиш, 
чиқувчи операндларни қаерга жойлаштиришда фойдаланиладиган бир қатор 
усуллар мавжуд. Бу усулларга адреслаш усуллари дейилади. Танланган 
адреслаш усулларининг самарадорлиги процессор ишининг самарадорлигини 
белгилаб беради.
Адреслаш турлари 
Турли хилдаги процессорларда адреслаш турлича бўлиб улар 4 тадан 
16 
тагача 
бўлиши 
мумкин. 
Қуйида 
ҳозирги 
кунда 
аксарият 
микропроцессорларда қўлланиладиган адреслаш усулларининг бир нечтасига 
тўхталиб ўтамиз.
Бевосита адреслаш. (1-расм) Бунда операнд (кирувчи) бевосита 
команда кодидан кейин хотирада жойлаштирилади. Одатда операнд доимий 
(константа) шаклида бўлиб уни бирор жойга жўнатиш мумкин, бирор нарсага 
қўшиш мумкин ва ҳоказо. Масалан команда қуйидагича бўлиши мумкин: 6 
сонини процессор ички регистрида мавжуд бирор бир элементга қўшилсин. 
Бу сон мавжуд қўшиш командасидан кейин жойлашган дастурдаги адрес 
ичидаги хотирада жойлашган бўлади.
1-расм. Бевосита адреслаш 
Тўғридан-тўғри (абсолют) адреслаш. (2-расм). Бунда операнд 
(кирувчи ѐки чиқувчи) адрес бўйича хотирада жойлашган бўлади. Унинг 
коди дастур ичида команда кодидан кейин жойлашади. Масалан команда 
қуйидагича бўлиши мумкин. 1000000 адресли ячейка тозалансин. Бу 1000000 
адрес коди хотирада тозалаш командаси кодидан кейинги адресда дастур 
ичида жойлашган бўлади.


2-расм. Тўғридан-тўғри адреслаш 
Регистрли адреслаш (3-расм). Бунда (кирувчи ѐки чиқувчи) операнд 
процессор ички регистрида жойлашган бўлади. Масалан: команда 
қуйидагича бўлиши мумкин: бирон сонни нолли регистрдан биринчи 
регистрга жўнатилсин. Ҳар иккала (0 ва 1) регистрларнинг рақамлари 
жўнатиш командаси коди томонидан аниқланади.
3-расм. Регистрли адреслаш 
Айланма 
регистрли 
(айланма) 
адреслаш. 
(4-расм) 
Бунда 
процессорнинг ички регистрида операнднинг ўзи эмас, хотирадаги унинг 
адреси жойлашган бўлади. Масалан, команда қуйидагича бўлиши мумкин: 
нолли регистрда жойлашган адресли хотира ячейкаси тозалансин. Бу регистр 
рақами (0) тозалаш командаси коди томонидан аниқланади.
 
 
4-расм. Айланма регистрли адреслаш
. 
Адреслашнинг жуда ҳам кам учрайдиган яна икки хил тури мавжуд.
Автоинкремент адреслаш айланма адреслашга жуда яқин, лекин 
ундан шундай фарқ билан ажраладики,команда бажарилганидан кейин 
фойдаланилган регистр ташкил этувчиси бир ѐки икки бирликка ошади. 
Адреслашнинг бу тури хотирада жойлашган маълумотлар массивидан 
кодларни кетма-кет қайта ишлашда жуда қулай бўлиб ҳисобланади.
Автодекремент адреслаш автоинкремент адреслаш ишига ўхшайди, 
фақат танланган регистр ташкил этувчиси команда бажарилиши олдидан бир 
ѐки икки бирликка камаяди. 

Download 265.76 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling