Бердак номидаги каракалпок давлат уневерситети


Download 1.02 Mb.
bet14/21
Sana16.04.2023
Hajmi1.02 Mb.
#1361375
1   ...   10   11   12   13   14   15   16   17   ...   21
Bog'liq
микропроцессор

12-ЛАБОРАТОРИЯ ИШИ
Манипуляторларни хар хил нукталарга силжитиш командаларини анализ килиш
И ш д а н м а к с а д : Кисм дастурнинг ёзилиши ва унга мурожат килиш мохиятларини текшириш; дастур тузишда стекнинг ишлатиш усулларини урганиш.


НАЗАРИЯДАН КИСКАЧА МАЪЛУМОТ


Z-80 МП эмулятори хотира элементлари (курилмаси) 66536та бир байтли ячейкалардан ташкил топган булиши мумкин . Хотира ячейкалар сони чекли булгани учун тузилаётган дастурлар хам иложи борича киска булиши зарур. Бунинг учун тузилаётган дастурнинг куп марта такрорланадиган кисми ёки шу дастурнинг узи кисм дастур тарзда ифодаланиши мумкин. У командалар кетма -кетлигидан ташкил топилган булиб, унинг бажарилиши асосий дастурнинг исталган жойидан чакирилиб исталганча такрорланиши мумкин. Кисм дастурга бошкарувнинг берилиши жараёни чакирув деб аталади. Кисм дастур бажарилишидан ва уз иш жараёни тухташидан хосил булган маълумот унинг чикиш параметри деб аталади.
Кисм дастурни чакириш ва ундан кайтиш учун CALL ва RET командаларидан фойдаланилади . CALL командадаги байтлар МП КИСининг дастур хисоблагичига хотира ячейкаларининг CALL (СD) кодидан кейин жойлашган кетма-кет ячейкалардан олиб юкланади. байт карамогидаги маълумот дастур хисоблагичининг кичик байтига PCLга ёзилади. Командадаги нинг учинчи байти дастур хисоблагичининг катта PCH байтига ёзилиб, бундан МП КИСининг стекида кисм дастурнинг иш жараёни тугагандан сунг асосий дастурга автоматик равишда кайтиш адрес сакланиб турилади.
Стек - ЭХМдаги Z-80 Мпэмулятор дастур таьминотидаги берилган маълумот ва адресларни вактинча саклаш учун кулланиладиган ОХКдаги махсус ташкил килинган кисмдир. Стекка охирги ёзилган сон биринчи булиб чакирилади.
RET кайтариш командаси эса кайтиш адресини стекдан чикариб олиб, дастур хисоблагичига юклайди. Кейин эса асосий дастур иши шу юкланган охирги адресдан давом эттирилади. Барча мавжуд кисм дастурлар RET командаси билан тугаши зарурдир.
Асосий дастур адреси кисм дастур бажарилиши жараёнида автоматик тарзда сакланиши ва унинг кайта тикланиши кисм дастурларнинг ичида кушимча кисм дастур киритиш имкониятини яратиб, бунда бир кисм дастурдан иккинчисини чакириш мумкин булади. Бунда жойлаштириш сатхи ЭХМдаги Z-80 МП эмуляторининг стеки хажми билан чекланади.
Кисм дастурларни чакириш ва ундан кайтиш учун яна шартли командалар хам мавжуд. Улар кисм дастурларни чакириш ва ундан кайтиш учун холатлар регистрининг баъзи бир холатларидан фойдаланилади.
Кисм дастурни чакириш ва ундан кайтиш командаларидан ташкари стек билан маълумотлар айирбошлашни PUSH
(белгиланган МП КИС регистридаги маълумотни стекка ёзиш) ва POP
(маълумотни стекдан МП КИСининг белгиланган регистрига кучириб ёзиш) командалари билан хам амалга ошириш мумкин. Бу командалар бир байтли булиб, уларда МП КИСининг жуфт регистрлари курсатилади.
Дастурлар ишлаб чикилаётганда аввал стек чегараси курсатилиб, LD SP ёки SPHL командалар оркали SP (стек курсатгичи) адресига ёзиб куйилади.
Стек билан бажариладиган операциялар тенг булмоги зарур.
Бошкача айтганда, хар бир кисм дастур ичида PUSH
ва POP
командалари тенг булиб, RET командаси билан тугаши керак. Акс холда RET командасининг кисм дастур охрида бажарилиши дастур хисоблагичига стекдан тасодифий сон ёзилишига олиб келади. Бу эса асосий дастурга кайтиш адресининг йуколишига ва унинг бажарилишининг бузилишига олиб келади.
4-расмда стек хотирасининг ишлаш жараёни тушунтирилган. Стекка А сузи жойлаштирилганда у биринчи буш булган хотира ячейкасини эгаллайди. Кейинги ёзилаётган суз олдинги ёзилиб турган сузни битта юкорига ячейкага суриб, узи эса шу бошлаган жойни эгаллайди ва колган холларда хам шу тартибда давом этади. Саккиз ячейкали стекка 8 суз Н дан кейин ёзилиши, стекнинг тулиб кетишига ва А сузнинг йуколишига олиб келади. Стекдан маьлумот ёзилган сузларни укиш тескари тартибдан юз беради, бошкача килиб айтганда охирги ёзилган Н сузини укишдан бошланади. Шуни айтиш керакки, Е сузини танлашни F сузини олмагунча бажариш мумкин эмас.





















А



















В



















С



















D



















E













А




F







А




В




H

Стек чуккиси.


4 - расм. Стек хотирасининг ишлаш жараёни.


5-расмда оддий кутиш вактини хосил килишувчи кисм дастурнинг алгоритми келтирилган. Умумий кутиш вакти куйидаги муносабат билан аникланади:

TD = t1 + (t2 + t3 + t4)N1 + t5


бу ерда N - хисоблагичга ёзилган бирламчи сон.


Хисоблагич сифатида В регистр танлаб олинган булиб, унга N1 сони С регистрдан олиб ёзилади.

N сони С регистрдан олиниб В регистрга ёзилсин

Буш Операциялар

N сони С регистрдан олиниб В регистрга ёзилсин




Йук
В=0


Ха

Кисм дастурдан чикиш

5.расм. Кутиш вакти хосил килувчи оддий кисм дастурнинг алгоритми,


Куйида DLY кутиш вакти 9 - кисм дастури келтирилган.

9 - кисм дастур



Адрес Машина коди Белги Мнемокод Изох

8000 41 LD B,C С регистрдан В регистрга сон ёзил-

син

8001 00 DLY: NOP Буш операцияси

8002 05 DEC B В регистрдаги сон киймати 1га

камайтирилсин

8003 С2 01 09 JP NZ,8001 Агар В регистрдаги сон 0га тенг

булмаса, DLYга утилсин

8006 С9 RET Кайтиш

NOP командаси циклдаги бажарилиш вактини узайтириш учун зарур булиши билан бирга, у умумий кутиш вактини хам купайтиради.NOP командаси урнига бошка командалар кетма-кетлигидан хам фойдаланиш мумкин булиб, факат олинган командалар микропроцессор регистрлари ишини узгартирмаслиги лозим. N1 сонининг В регистрга иш ва t1 + t5 кисм дастурдан чикиш вактлари аник булиб, улар цикл вакти ичига кирмайди. Келтирилган кисм дастурдаги минималь кутиш вакти N1=0.1 аникланади ва у


Tdmin = t1 + t2 + t3 + t4 + t5га тенг


N1=00 булганда максимал кутиш вактига эга булади ва укуйидаги муносабат оркали аникланади


Tdmax = t1 + (t2 + t3 + t4)256 + t5

10 дастур ва 11-кисм дастур ёрдамида саккиз разрядли сонларни кушишни амалга ошириш мумкин.


10 - дастур



Адрес Машина коди Белги Мнемокод Изох

8000 LD HL,8020 Кушилувчи сонларнинг бош


8003 LD DE,8030 адресларини юкланг

8006 LD C,08 Хисоблагични урнатиш

8008 PUSH AF А регистр ва холатлар киймати-

ни стекда саклаш

8009 POP: CALL 806C SLOG кисм дастурни чакириш

800С SUB A Аккумулятор тозалаш

800D DEC O Хисоблагични 1га камайтириш

800Е JP Z, 8016 Агар регистр С=0 булса, унда

LOP га утилсин.

8011 INC HL Кейинги кушилувчилар жуфт-

8012 INC DE лиги адресларини ташкил

этиш

8013 JP 8009 POP 0га шартсиз утиш

8016 LOP: POP FA А регистр ва холатлар киймати-

ни стекдан чикариш

8017 HALT Дастур охири




11 - кисм дастур




Адрес Машина коди Белги Мнемокод Изох

806С SLOG: LD B,M Кушилувчиларни хотирадан В

регистрга юклаш.

806D LD A,(DE) D регистридаги сонни чакириш

806Е ADC A,B Кучиришни хисобга олиб кушиш

806F LD (DE),A Йигиндини иккинчи кушилувчи

адресида саклаш

8070 RET Асосий дастурга кайтиш





Download 1.02 Mb.

Do'stlaringiz bilan baham:
1   ...   10   11   12   13   14   15   16   17   ...   21




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