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


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

Тарқатиш ва бошқариш буйруқлари.
• Тармоқлаш буйруқлари шартли ва тциклли баёнотларни амалга оширишга имкон беради. МCС-51 микроконтроллерларида қуйидаги буйруқлар мавжуд:
• шартсиз сакраш: ЛЖМП, АЖМП, СЖМП
• Қўнғироқ қилинг ва пастки дастурдан қайтинг: ЛCАЛЛ, АCАЛЛ, РEТ, РEТИ
• батареянинг таркибини текшириш: ЖЗ, ЖНЗ, CЖНE, ЖМП
• С: ЖC, ЖНC ташиш байроғини текширинг
• бит майдонидаги исталган бит таркибини текшириш: ЖБ, ЖНБ, ЖБC
16-бит шартсиз сакраш ва суброутине қўнғироқлари бўйича кўрсатмалар дастур хотирасининг манзил майдонидаги 64 КБ гача бўлган исталган нуқтага ўтишга имкон беради. Буйруқларнинг намуналари:
ЛЖМП Метка; "Метка" ёрлиғи билан белгиланган манзилда жойлашган буйруққа ўтиш.
ЛCАЛЛ Подпрограмма; "Подпрограмма" ёрлиғи билан белгиланган манзил бўйича суброутине-га қўнғироқ қилиш
11-битли филиал ва суброутине-га қўнғироқ қилиш бўйича кўрсатмалар сизнинг дастурингиз ҳажмини камайтириши мумкин, аммо фақат 2 КБ дастур бирлиги ичида сакрашни таъминлайди. Принтсипиал жиҳатдан ушбу кўрсатмалар дастур модули иккита қўшни 2К хотира сегментида жойлашганида таржимон томонидан аниқланмаган хатоларга олиб келиши мумкин.
АЖМП Метка; "Метка" ёрлиғи билан белгиланган манзилда жойлашган буйруққа ўтиш.
АCАЛЛ Подпрограмма; "Подпрограмма" ёрлиғи билан белгиланган манзил бўйича суброутине-га қўнғироқ қилиш
Буйруқлар тизимида (ПC) -127 дан (ПC) +127 гача бўлган оралиқдаги кейинги буйруқнинг бошланғич манзилига нисбатан шартли ва шартсиз сакраш учун буйруқлар мавжуд. Буйруқларнинг намуналари:
СЖМП Метка; "Метка" ёрлиғи билан белгиланган манзилда жойлашган буйруққа ўтиш.
ЖБ П3.5, ТстНхтУсл; Агар П3 портининг 6 пими нол потентсиалга эга бўлса,
АCАЛЛ Подпрограмма; сўнгра "Подпрограмма" ёрлиғи билан белгиланган дастурни чақиринг.
CЖНE А, # 5, ТстНхтУсл; Агар аккумуляторда 5 рақами бўлса,
АCАЛЛ Подпрограмма; сўнгра "Подпрограмма" ёрлиғи билан белгиланган дастурни чақиринг.
Аккумулятор таркибини текшириш буйруғи ва C байроқчаси ҳар хил шароитларни текширишни амалга ошириш учун ишлатилиши мумкин. Бундай ҳолда, таркиб ўзгармайди, яъни бир хил ўзгарувчини бир нечта текширишни амалга ошириш керак бўлса, унда сиз ушбу ўзгарувчининг қийматини аккумуляторга қайта киритишингиз шарт эмас. Масалан:
МОВ А, 34; Агар ички хотира жойида сақланадиган ўзгарувчи 34 бўлса
ЖНБ АCC_7, ТстEҚ5; рақам нолдан кам,
Подпрограмма-га қўнғироқ қилинг, сўнгра "Подпрограмма" деб номланган суброутине-га қўнғироқ қилинг.

ТстEҚ5 ;------------------------------------------------------------------------------------------


CЖНE А, # 5, ТстЛТ5; Агар ички хотирада жойлашган ўзгарувчида 34 бўлса
; киритилган рақам 5,

Подпр5-га қўнғироқ қилинг, сўнгра "Подпр5" деб номланган суброутине-га қўнғироқ қилинг.


TstLT5 ;------------------------------------------------------------------------------------------
JNС TstGE5 ; Agar ichki xotira joyida saqlanadigan o'zgaruvchi 34
; 5 dan kam sonni kiritdi,
CALL PodprLT5 ; keyin "PodprLT5" deb nomlangan pastki dasturni chaqiring.
TstGE5 ;---------------------------------------------------------------------------------
JC TstNxtUsl ; Agar ichki xotira joyida saqlanadigan o'zgaruvchi 34
; 5 dan katta yoki unga teng son kiritildi,
CALL PodprGE5 ; keyin "PodprGE5" deb nomlangan pastki dasturni chaqiring.
TstGT5 ;------------------------------------------------------------------------------------------
CJNE A,#6,$+3 ; Ichki xotira joylashuvida saqlanadigan o'zgaruvchi 34 bo'lsa
JC TstNxtUsl ; 5 dan katta raqamni kiritdi,
CALL PodprGT5 ; keyin "PodprGT5" deb nomlangan subroutine-ga qo'ng'iroq qiling
;---------------------------------------------------------------------------------
JNC TstNxtUsl ; Agar raqam ichki xotiraning 34-joyida saqlanadigan o'zgaruvchiga kiritilgan bo'lsa,
; 5 dan kam yoki teng,

CALL PodprLE5 ; keyin "PodprLE5" deb nomlangan subroutine-ga qo'ng'iroq qiling


Юқоридаги мисоллардан кўриниб турибдики, ушбу микроконтролдернинг ўтиш йўриқномалари бошқа процессорларга нисбатан, масалан, МCС-48 каби кўрсатмалар сони бўйича анча самарали дастурларни амалга оширишга имкон беради.


МCС-51 микроконтроллер кўрсатмаларидаги билвосита сакраш ЖМП @ А + ДПТР, батареянинг А таркибига асосланган дастурнинг далланишини таъминлайди. Паскал дастурлаш тили, лекин анча тезроқ (иккита машина циклида). Ушбу кўрсатмада ДПТР маълумот кўрсатгичидан фойдаланиш сакраш жадвалини дастур хотирасининг исталган жойига жойлаштиришга имкон беради. Вариантларни танлаш буйруғини амалга оширишга мисол:


BeginOpCase: ; Tanlash buyrug'ini boshlang
-------------------------------------------------
MOV DPTR, #JMP_TBL ; O'tish jadvalining boshlang'ich manzilini o'rnating

MOV A, 33 ;В bu katak zarur bo'lgan o'zgaruvchini saqlaydi


; xizmat ko'rsatish dasturiga o'tishni amalga oshiring


CLR C; akkumulyatorning arifmetik siljishi o'ngga


RLC A; (2 ga ko'paytiring), chunki sakrash ko'rsatmalari ikki baytni oladi

JMP @ A + DPTR; 33-katakda ko'rsatilgan kodning bajarilishiga o'ting


JMP_TBL:; sakrash jadvalining o'zgaruvchining tarkibi bo'yicha xotiraning joylashgan joyidagi 33 -----------------
JMP Case0; 0 raqami bo'yicha kod bajarilishiga o'tish
JMP Case1; 1 raqami bo'yicha kod bajarilishiga o'tish
JMP EndCase; 33-katakchadagi ushbu raqam ruxsat berilgan ro'yxatga kiritilmagan
JMP EndCase; 33-katakchadagi ushbu raqam ruxsat berilgan ro'yxatga kiritilmagan
JMP Case4; 4 raqami bo'yicha kod bajarilishiga o'tish
EndCase :; ----------------------------------------------- ----------------------------------------
Операндларга мурожаат қилиш усуллари.
Буйруқдаги операндларга мурожаат қилиш усулини аниқлашда, буйруқнинг ҳар бир операндаси учун адреслаш турлича бўлишини ҳисобга олиш керак. Умуман олганда, манба ва манзил манзиллари мос келмаслиги мумкин.
Яширин адреслаш Яширин адреслаш билан манба ёки манзил регистри опcоде-нинг ўзида кўрсатилади. Масалан:
03 РР А; Батарея таркибини ўнг томонга силжитинг
Д4 ДА А; йиғиндиси натижасини ўнли тузатишни амалга оширинг
Э8 МОВ А, Р0; Биринчи операндда яширин адреслаш, иккинчисида регистр ишлатилади
Рўйхатдан ўтиш манзиллари танланган иш регистрлари банкининг саккизта иш регистрларига мурожаат қилиш учун, шунингдек А, Б, АБ (дуал реестр), ДПТР регистрларига ва С кўчириш байроғига мурожаат қилиш учун ишлатилади. Рўйхатдан ўтиш рақами кўрсатманинг энг кам аҳамиятли уч қисми. Масалан:

Ф8 МОВ Р5, А; биринчи операнд рўйхатга олиш манзилини ишлатади, иккинчиси эса яширин


Тўғридан-тўғри байтли адреслаш ички хотира (РАМ) маълумотлари катакларини (0: 127 манзиллар) ва махсус регистрларни (128: 256-манзиллар) адреслаш учун ишлатилади. Хотира манзили буйруқнинг иккинчи байтига жойлаштирилган. Масалан:
Э520 МОВ А, 20 соат; иккинчи операнд тўғридан-тўғри байт адреслашдан фойдаланади ва биринчи навбатда яширин адреслашдан фойдаланади
8Д15 МОВ 15ҳ, Р6; биринчи операнд тўғридан-тўғри байт манзилидан фойдаланади, иккинчиси эса регистрдан фойдаланади
Битни йўналтириш 20Ҳ-2ФҲ манзил жойларида жойлашган алоҳида адресланадиган 128 битга ва махсус мўлжалланган регистрларнинг алоҳида адресланадиган битларига мурожаат қилиш учун ишлатилади. Масалан:
Д220 СEТБ 20 соат; тўғридан-тўғри бит адреслаш ишлатилган
C215 CЛР 15 соат; тўғридан-тўғри бит адреслаш ишлатилган
Билвосита регистрни адреслаш ички оператив хотира катакчаларига мурожаат қилиш учун ишлатилади. Танланган регистрлар банкининг Р0, Р1 регистрлари манзил кўрсатгич регистрлари сифатида ишлатилади. Масалан:
Э6 МОВ А, @ Р0; Биринчи операндда яширин адреслаш, иккинчисида билвосита регистр ишлатилади.
Ф7 МОВ @ Р1, А; Биринчи операнд регистрда билвосита адреслашни ишлатади, иккинчисида эса яширин
Билвосита - регистр адреслаш ташқи маълумот хотирасига кириш учун ҳам ишлатилади. Бундай ҳолда, Р0 ва Р1 кўрсаткич регистрлари (ишчи регистрларнинг ишчи банки) ёрдамида 256 байтлик ташқи маълумотлар хотирасидан блок танланади. Блок рақами П2 портининг мазмуни билан олдиндан белгиланади. Масалан:
Э2 МОВХ А, @ Р0; Биринчи операндда яширин адреслаш, иккинчисида эса билвосита регистр ишлатилади.
Ф3 МОВХ @ Р1, А; Биринчи операнд регистрда билвосита адреслашни ишлатади, иккинчисида эса яширин
Агар кўрсатгич регистри сифатида 16-битли маълумот кўрсатгичи (ДПТР) ишлатилса, сиз ташқи маълумот хотирасида 64КБ гача бўлган ҳар қандай жойни танлашингиз мумкин. (МСC-51 оиласининг баъзи микроконтроллер моделларида шу йўл билан сиз 256 байтдан кўпроқ ички маълумотлар хотирасига киришингиз мумкин).
Э0 МОВХ А, ДПТР; Биринчи операндда яширин адреслаш, иккинчисида билвосита регистр ишлатилади
Ф0 МОВХ ДПТР, А; Биринчи операнд регистрда билвосита адреслашдан фойдаланади, иккинчиси эса яширин
База ва индекс регистри йиғиндиси (А аккумулятор таркиби) бўйича билвосита регистрга мурожаат қилиш дастур хотирасида ёзилган жадвалларни кўришни осонлаштиради. Жадвалдаги ҳар қандай байтни ДПТР ёки компютер таркибидаги ва А таркибидаги йиғиндиси билан аниқланган манзил бўйича танлаш мумкин, масалан:
83 МОВ А, @ А + ПC; Биринчи операнд ёпиқ адреслашдан фойдаланади, иккинчиси эса билвосита регистрдан фойдаланади.
93 МОВ А, @ А + ДПТР; Биринчи операндда яширин адреслаш, иккинчисида билвосита адреслаш ишлатилади.
Тўғридан-тўғри адреслаш дастурнинг хотира манзили майдонидан буйруқда аниқ кўрсатилган доимийликни танлашга имкон беради, масалан:
7414 МОВ А, # 14 соат; Биринчи операндда яширин адреслаш, иккинчисида тўғридан-тўғри фойдаланилади
902048 МОВ ДПТР, # 2048 соат; Биринчи операнд махфий адреслашдан фойдаланади, иккинчиси тўғридан-тўғри ишлатади


Download 3.7 Mb.

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




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