Амалиёт машғулоти №1 микропроцессор тизимининг умумий тузилиш принциплари ва параметрларини таҳлил этиш


Download 3.7 Mb.
bet5/13
Sana27.08.2023
Hajmi3.7 Mb.
#1670537
1   2   3   4   5   6   7   8   9   ...   13
Bog'liq
МИКРОПРОЦЕССОР АМАЛИЁТ

АМАЛИЙ МАШҒУЛОТ № 12.
С-51ДАСТУРЛАШ ТИЛИДА ЎЗГАРУВЧИЛАРНИ ТАҚДИМ ЭТИШ, МАССИВЛАРНИ ЭЪЛОН ҚИЛИШНИ ЎРГАНИШ

Ҳар қандай бошқариш ёки маълумотлами қайта ишлаш жараёни баъзи бир алгоритмик тузилишлами йиғиндисини ташкил қилади. Алгоритмик тузилишламинг энг кўп тарқалган турлари - тармоқланиш (бранчинг) ва сикллар (лооп) ҳисобланади.
Тармоқланиш дастуминг ҳар хил қисинларини тузиш (алгоритм тармоқланни ажратиш) учун қўлланилади.
Циклларда битта операция хотира ячейкасида ёки элемент- ларида кетма-кетликда жойлашган бир қанча ма’лумотлар таркиби устидан бажарилади. Массивлами ва жадваллами қайта ишлашда сиклли дастурларни қўллаш мақсадга мувофиқдир.
Циклли дастурда 4 та асосий блокни ажратиш мумкин.
1. Инициализация блоки (лот. инитиум - бошланиш). Бундаўзга- рувчанларга, ҳисоблагичларга, индексларга ва кўрсаткичларга бошланғич қийматлар киритилади.
2. Қайта ишлаш блоки. Бунда керакҳ ҳисоблашлар амалга оширилади
3. Цикллами бошқариш блоки. Бунда кейинги қайтариладиган опе- рациядан олдин ҳисоблагичлами ва индекслами (кўрсаткичлами) қиймати ўзгартирилади, ҳамда сикЖдан чиқиш шарти текширилади.
4. Якунловчи блок. Бунда олинган натижалами сақлаш амалга оширилади.
5. 3-блоклар циклни жисмини (лооп бодй) ташкил қилади. Сиклик дастурлами тез ишлаш самарадорлигини ошириш ваҳажмини қисқартириш учун сикл қисмини операциядан бўшатиш керак.
Циклик дастурлами ташкиллаштириш учун, ҳамда тармоқлаштириш учун дастурларда шартсиз ва шаитли командалар ишлатилади. Бундан ташқари, сикллами қуриш учун, бир вақтда бир қанча ишни бажа- радиган, сикллами махсус командалари қўлланилиши мумкин.
ЖМП, РЖМП, ИЖМП ва ЭУМП шартсиз ўтиш командалари бош- қарувни командада кўрсатилган дастур хотирасини адресига узатади. ЖМП (Жумп) командаси бошқарувни дастур хотирасини бутун ҳажми ичидан узатишга имкон беради. РЖМП (Релативе Жумп) командаси дастур ҳисоблагичи жорий таркибига нисбатан, ±2 Ксўз (±4 Кбайт) ме’ёрда ўтишлар билан та’минлайди. ИЖМП (Индиреcт Жумп) командаси бўйича З регистрида кўрсатилган адрес бўйича нисбий ўтишлами бажаради; максимал силжиш 64 Ксўз (128 К.байт)ни ташкил қилади. ЭУМП (Ехтендед Индиреcт Жумп) командаси дастур хотирасини бутун ҳажми бўйича нисбий ўтишлар билан та’минлайди; дастур ҳисоб- лагичини кенгайтириш учун ЭИНД регистри қўлланилади.
Шартли ўтишлар командалари ба’зи бир шартлар бажарилганда дастур хотирасидаги кўрсатилган адрес бўйича бошқарувни узатади.
БРхх (Бранч иф... - ўтиш, агар ...) командалари, СРЕГ ҳолат регистри разрядини текшируви натиж алари бўйича, дастур ҳисобла- гичининг жорий таркибига нисбатан, -64...+63 сўз оралиғида ўтишни бажаради. СРЕГ ҳолат регистри киритиш-чиқариш регистрининг адрес муҳитида бўлади. Шартлар коди (C, З, Н, В. С. Ҳ) арифметик, логик командалар ва битлаи билан ишлаш командалан бажарилганда, ҳолат регистрида шаклланади. Агар натижанинг катта разрядидаги силжиш командаси бажарилганда, С (cаррй - силжиш) разряди ўматилади. Агар командани бажарилишнатижаси нолгатенгбўлсаЗ (зеро- нол) разряди ўматилади. Агар катта разряд натижаси и га тенг бўлса, Н (негативе - салбий натижа) разряди оҳнатилади. Агар командани бажарилишида белгили сонни разрядли сеткаси тўлиб қолиши содир бўлган бўса, В (over flow - тўлиш) разряди ўрнатилади. Белгили сонни разрядли сеткаси тўлиб қолганда, С = Н ® В (сигн - белги) белги натижасини тўғри кўрсатади. Агар команда бажарилиш пайтида натижанинг учинчи разрядидан силжиш содир бўлган бўлса, Ҳ (ҳалф cари – ярим силжиш) ўрнатилади.
Операндлами солиштиришда тармоқланиш учун қўлланиладиган, шартли ўтишлар командалари 4.1-жадвалда келтирилган.
Операндларни солиштиришда тармоқланиш учун қомандаладиган, шартли ўтишлар командалари
4.1 -жадвал

hart

Logik ifoda

Komanda

Operandlar

Tekshirish

O'tish

Rd>Rr

Z-(N © V) = 0

CP Rr. Rd

BRLT

belgili

C + Z = 0

CP Rr, Rd

BRLO

belgisiz

Rd>Rr

(N © V) = 0

CP Rd. Rr

BRGE

belgili

c = o

CP Rd. Rr

BRSh/BRCC

belgisiz

Rd = Rr

Z= 1

CP Rd. Rr

BREQ

belgili, belgisiz

Rd*Rr

z = o

CP Rd. Rr

BRNE

belgili, belgisiz

Rd

Z (N Э V) - 1

CP Rr. Rd

BRGE

belgili

(■•7-1

CP Rr, Rd

BRSh

belgisiz

Rd

(N © V) - 1

CP Rd, Rr

BRLT

belgili

C= 1

CP Rd, Rr

3RLO/BRCS

belgisiz

Шартли ўтишлар командаларига яна SPSE - солиштириш ва ўтказиб юбориш, агар тенг бўлса командаси киради. Бу команда иккита УМР таркибини солиштиради ва, агар таркиби бир хил бўлса кейинги командадан кейин ўтказиб юборади.
Мувофиқ шарт бажарилса, SBRC, SBIS, SBIC (Skip if Bit in Register [I/O Register] is Set [Cleared]) командалари кейинги командани ўтказиб юборади Массивлами қайта ишлашда сиклик дастурларда ма’лумотлар хотирасини предекрементли ва постинкрементли нисбий адреслашни, ҳамда ма’лумотлар хотирасини силжишли нисбий адреслашни қўллаш фойдали бўлади.
1-чизмада дастурни бир қисми келтирилган. Бунда 100 сони, беш байтдан ташкил топган массив ячейкасига киритилади. Сиклдан чиқиш ва бошқарувни узатиш шартларини текшириш учун БРНЕ командаси ишлатилади. Сиклни қайтарилиш чегараси 5 га тенг, қа- дам -1 гатенг. Цикл параметри PI 6 регистри таркибига киради.

5 • • • array:

.byte 5 ; 5 bayt array massivi uchun

LDI

RI 6, 5 ; sikl qaytrilish chegarasi

LDI

RI 7, 100 ; array massiviga kiritiladigan son

LDI

RI 8, 1

LDI

R30, low(array); array massiv adresining kichik bayti

LDI

R31, high(array) ; array massiv adresining katta bayti

loop:

; sikl jismi

STZ, RI7 ; array massiviga 100 sonini kiritish

ADD

R30, RI8 ; array massivining keyingi bayti adresi

SUB

RI6, RI8 ; o‘tishlar soni schyotchigi, qadam -1 teng

BRNE loop ; qaytarish, agar schyotchik nolga teng
bo‘lmasa ж . ■ .




Download 3.7 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   13




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