ЎЗБЕКИСТОН АЛОҚА ВА АХБОРОТЛАШТИРИШ АГЕНТЛИГИ
ТОШКЕНТ АХБОРОТ ТЕХНОЛОГИЯЛАРИ УНИВЕРСИТЕТИ
Телекоммуникация технологиялари факультети
Рақамли схемотехника
«5522000–Радиотехника» йўналиши талабалари учун
курс ишларини бажариш бўйича услубий қўлланма
Тошкент 2008
Муаллифлар: Ж. Ю. Юнусов, , Х. Ю. Абосхонова Ш.А.Абосхонов.
«Рақамли СХЕМОтехника»./ТАТУ. 86 бет. Тошкент, 2008.
Рақамли схемотехника курсининг мақсади рақамли қурилмаларнинг тузилиш тамойили ва турли функционал қийинликдаги, яъни рақамли мантиқий элементлардан (МЭ) тортиб то микропроцессорларгача (МП) бўлган рақамли қурилмаларнинг ишлатилишини ўрганишдан иборатдир.
Мазкур курс иши микро-ЭҲМда дастурлаш бўйича амалий малака оширишга мўлжалланган.
Рецензент:
Ўз ААА
РРТ бўлимии бошлиғи
т.ф.н.,доцент Ю.К.Камолов
ТАТУ
«МУТваТ» кафедра мудири
и.ф.н. доцент Х.А.Мухитдинов
© ТОШКЕНТ АХБОРОТ ТЕХНОЛОГИЯЛАРИ УНИВЕРСИТЕТ, 2008
КИРИШ
Рақамли схемотехника курсининг мақсади рақамли қурилманинг тузилиш тамойиллари ва турли функционал мураккаб, яъни рақамли мантиқий элементлардан тортиб, то микропроцессорларгача бўлган рақамли қурилмаларнинг ишлатилишини ўрганишдир.
Рақамли схемотехника курси дастурга мос равишда назарий материаллар, назорат ишлари, лаборатория ишлари ва курс ишларини ўз ичига олади.
Назарий материалларнинг ўзлаштирилишини осонлаштириш учун ушбу ишда методик кўрсатмалар, адабиётларга мурожаат, айрим холларда эса саволнинг кенгрок ёритилиши, ҳамда талабага бериш учун мавжуд бўлган адабиётлардан бирини танлаб олиш имконини берувчи бир нечта адабиётлар кўрсатиб ўтилган.
Рақамли схемотехника курси икки қисмга бўлинган. Биринчи қисмда асосий диққат унча қийин бўлмаган рақамли қурилмаларнинг таркиби ва куриш тамойилларига қаратилади. Биринчи қисмдан олинган билимларни умумлаш учун талабларга уч саволдан иборат бўлган назорат иши берилади.
Иккинчи қисмда эса юқори қийинликка эга бўлган МП ва микро-ЭҲМларни қуриш тамойиллари ва уларни ишлатилиш қоидалари кўриб чиқилади.
Мазкур курс иши микро-ЭҲМда дастурлаш бўйича амалий малака оширишга мўлжалланган.
I Микропроцессор тизимларини лойиҳалаштириш
1.1 Микропроцессор тизимларини лойиҳалаштириш босқичлари
1.1-расм.МП базасида қурилмаларни лойиҳалаштиришнинг асосий босқичлари
Лойиҳалаштиришнинг асосий босқичларидан бири тизим тахлили бўлиб, унинг мақсади лойиҳалаштирилган тизим учун талабни аниқлашдир.
Бу босқич истеъмолнинг талаб тўпламини аниқлашни ва истеъмолчи талабларидан келиб чиқадиган функционал хоссаларни қуришни ўз ичига олади. Истеъмолчи талаблари унинг нимани ҳоҳлашини ва нимага эҳтиёж сезишини аниқлайди. Истеъмолчи талаблари унинг ҳаридор ёки истеъмолчи билан учрашган пайтда уларнинг тизимдан нимани хохлашларини аниқлаш учун хизмат қилади. Махсулот ассортиментини режалаштириш пайтида бошқача ёндашиш ишлатилади, бунда истеъмолчи талаблари бозорни ўрганиш ва ҳаридорларни сўроқлаш йўли билан аниқланиши мумкин.
Функционнал хосса истеъмолчи талабларини қондириш ва тизим ёки унинг атрофидагиларни интерфейс билан таъминлаш учун қайси функциялар бажарилиши лозимлигини аниқлайди.
Бундан ташқари, кўпинча микропроцессор тўпламларида (МПТ) катта интеграл схемалар (КИС) ларнинг йўқлиги сабабли функцияларни аппарат йўли билан синтез қилишга тўғри келади.
Лойиҳалаштиришнинг кейинги босқичи учта асосий қадамдан иборат бўлган МПТ ни танлашни амалга оширишдир.
1. Дастурий таъминот нуқтаи назаридан МПнинг шундай хоссаларини таҳлил қилиш керакки, булар буйруқлар тўплами ва манзиллаш усуллари, даражалар, умумий таркибдаги регистрлар сони, стек хотира тури, узилишларни қайта ишлаш воситалари ва хоказо микродастур қатламли, секциявий МП учун буйруқлар тизимини танлаш, уларни ишлатиш микродастурини ишлаб чиқиш пайтида микробуйруқ форматини танлаш, кейинги микробуйруқ манзилини шакллантириш механизмини яхши ўрганиб чиқиш, кодларни узатиш тактлари ва узатиш пайтидаги кечикишларни эътиборга олган холларда қийинчилик туғилса, буйруқлар тизимини танлаш лозимдир.
2. Тизимли лойиҳалаштиришдан келиб чиқкан холда ўзида МП дан ташқари доимий ва оператив хотира қурилмаси (ДХК ва ОҲҚ) периферия қурилмалари билан боғлик интерфейс модули, хотирага бевосита уланишни бошқариш, шиналар шакллантирувчиси, буфер регистрлари, такт генератори, тизим контроллери каби қурилмаларни ўз ичига олган МПТни тахлил қилиш лозим. Қуйида МПТни танлашга таъсир килувчи омиллар (даражалик, буйруқ тўплами, манзиллаш қурилмаси, МП архитектураси, микродастурланиш, буйруқ бажариш вақти, серия ва микросхема тўлалиги, хужжатлар ва хоказо) нинг МПТни ишлаб чиқишга таъсири келтирилади.
3. Дастур таъминотини ишлаб чиқиш ва ишга тушириш нуқтаи назаридан белги тилидан иккилик объекти, кодга ўтказувчи транслятор, моделлаштириш тахрир дастури кабиларсиз МПТ ишлаб чиқиш вақти ва нархи сезиларли даражада ошар эди.
МПТ аппарат воситаларини ишлаб чиқиш ва ишга тушириш босқичи билан бир вақтда бажарилаётган МПТ дастур таъминотини ишлаб чиқиш босқичини кенгроқ кўриб чиқамиз. Ушбу босқичлар нихоясида аппарат ва дастурий воситаларнинг интеграцияси ва МПТ нинг резидент холатида ишга тушириш бажарилади.
МПТни лойиҳалаштиришнинг асосий вазифаси устувор дастурлар яратишдан иборатдир. Аппарат воситаларини лойиҳалаштиришнинг вазифаси эса КИСларнинг берилган конфигурациясига мувофиқ, ва электрик юклама вақт кўрсатгичларига биноан қурилади.
МПТ ишлаб чиқиш амалиёти шуни кўрсатадики, дастурлар ишлаб чиқаришга кетган иктисодий ҳаражатлар аппаратура ишлаб чиқаришга кетган ҳаражатларга нисбатан тенгсиз ўсмокда.
Ҳозирги пайтда дастур оптималлик холатининг аниқ бир микдорий критерийси йўқдир. Уларнинг табиий холда узўнликларига демакки хотира хажмига қараб бериладиган бахо тизим фойдаланишидаги қулайликлар, кенгайтиришларга кенг имкониятлар яратилгани ва хоказолар олдида иккинчи ўринга ўтиб қолади.
Умуман, устувор дастурлар яратиш хозирча фандан кўра санъатга яқин бўлиб қолмокда, бунда асосий ролни, ўргатиш жуда қийин бўлган тажриба ва соғлом фикр ўйнайди.
МПТ устувор дастурларини ишлаб чиқиш ўз ичига барча дастурий воситаларга хос бўлган йириқ босқичларни олади. Ечилаётган муаммонинг аниқ қуйилиши ва функционал хоссаларнинг аниқланишининг босқичлари қуйидагилардан иборат:
муаммонинг бўлакларга ажратилиши ва дастурнинг ҳар бир бўлагини лойиҳалаштириш (алгоритмлаш).
хусусий дастурлаш (кодлаш).
дастурни текшириш ва ишга тушириш.
Ҳар бир босқичга алохида тўхтаб ўтамиз.
Функционал хоссаларни ишлаб чиқиш. Дастурлашнинг муваффакияти лойиҳачининг муаммони қанчалик тўғри тушунганлиги ва уни тизимнинг ишчи ҳарактеристикаларида акс эттирганига боғликдир.
Умумий хоссалар қуйидагиларни ўз ичига олади:
- Тизим ечиши лозим бўлган муаммонинг аниқ қуйилишини,
- резидент дастур таъминоти – хизматчи дастурлар тўпламининг истеъмолчининг устувор дастури ишлатадиган Микро ЭҲМда қурилишини,
- аппарат қурилмалари ва ташқи сигналлар рўйхатини,
- дастурий модуль алоқаларининг шархини,
- ташқи қурилмага қаратилган интерфейс тизимининг тўлиқ шархини,
- истеъмолчига кириш ва чиқиш кўрсаткичлари шархи берилган қўлланмани олади.
Бунда ечиладиган масаланинг алгоритм блок-чизмаси, диаграмма, жадвал кўринишида графигини ишлатиш мақсадга мувофиқ.
Бўлакларга ажратиш ва алгоритмлаш. Кўпчилик МПТларнинг ишлатилиши анча мураккаб муаммоларнинг ечилиши билан боғлик. Шунинг учун умумий муаммонинг бир неча майда ва бошқарилувчи бўлакларга бўлиш мақсадга мувофиқ. Ҳар бир бўлакнинг дастурий қурилмаси блок ёки модуль дейилади.
Мураккаб блоклар шу даражада субблокларга бўлинадики, ҳар бир субблок ишлаш алгоритми етарлича соддалаштирилган бўлсин. Бундай усул тепадан пастга қараб лойиҳалаштириш дейилади.
Асосий блоклар функционал хоссалардан ажратиб олинади ва бошқарув (асосий дастур) блокининг ташқи қурилмалари интерфейс блокини, танаффусларга таъсирчанлик блокини, турли кўрсаткичларни алмаштириш блокини, кириш-чиқиш блокини уз ичига олади.
Катта аҳамиятни кўрсаткичларнинг кандай берилгани ва тизим уларни кандай саралашига боғлик бўлган кўрсаткичлар структурасини тўғри ташқил қилиш эгаллайди.
Кириш ва чиқиш қийматларининг форматини, оралик ва якуний натижа форматини, кўрсаткичларнинг хотирада жойлаштириш усулини танлай билиш ва кайдлаш лозим.
Кўрсаткичларни массивлар жадвали, руйхатлар ва хоказолар ёрдамида кўрсатиб ўтиш мақсадга мувофиқ.
Кўрсаткичларни тўғри ташқил қилиш дастурнинг узунлигини қисқартиришга ва бажарилиш вақтини камайтиришга ёрдам беради.
Функционал блоклар ажратилгандан сўнг танланган МП га мосланган алгоритмлари ишлаб чиқилади.
Кодлаш. Дастурнинг блок чизмасини ЭҲМ қабул кила оладиган айрим тилларга операторли ўзгартирилиши анъанавий дастурлаш дейилади.
Аммо дастурнинг тўғри лойиҳаланган бундай ўзгартирилиши унча мураккаб бўлмагани сабабли бу босқични кодлаш деб атаймиз.
Кодлашнинг натижаси қилиб кириш дастури ёки кириш коди олинади.
Кириш дастурларининг кейинги ўзгартирилиши эхтимолидан келиб чиқкан холда кодлаш машина тилида, Ассемблер тилида ёки юқори даража тилларида бажарилиши мумкин.
Дастурни лойиҳалаштиришда унинг хужжатлаштирилишига жиддий аҳамият бериш лозим. Аксарият холда дастур узининг асосий хоссаларини уз ичига олувчи шархлар билан бошланади.
Буларга дастур номи, тузилган вақти, хотирага талаблар, дастур функциялари ва кириш-чиқиш хусусиятлари киради.
Дастур элементларини тўлиқрок кўрсатиш учун қуйидаги бўлимларни ажратган холда хотира картасини тузамиз:
МП хусусиятларини аниқлайдиган махсус хотира, ишчи хотира, стек, кириш-чиқиш қисм дастури, буфер худудларидан параметрларни узатиш учун умумий худудлар, кириш-чиқиш ишлатилган холда хотира портлари, тизим дастурлари учун резидент хотира.
Хотира областларини адресларни дешифрация қилиш ва уларни ўзгартиришни осонлаштириш учун уша бетга жойлаштириш мақсадга мувофиқдир.
Текшириш ва ишга тушириш дастурларнинг бир-бири билан чамбарчас боғланган текшириш ва ишга тушириш блоки ўз ичига дастурдан хатоларни йўқотиш ва уларни локализация қилишларни олади. Текшириш дастурини синчиклаб кўриб чиқилгандан сўнг, бошқа қисм дастурни чақирмайдиган пастки қатлам дастурини ишга туширишга ўтилади. Сўнг кодлаш блок-чизма мантиғининг берилишлари тўғрилигига, циклларнинг тўғри номланганлиги ва тугаганлигига ишонч хосил қилиш керак. Ҳар бир блок учун аниқ мисоллар (тестлар) ишлаб чиқиш лозим. Тест энг ёмон холатларни ва параметрларнинг якуний қийматларини кўзда тўтиши лозим.
Оддий дастурларнинг ишга туширилиши тугатгач, кейинги босқич қисм дастурларга, ва шу тариқа асосий дастургача ўтиб борилади. Ишга тушириш дастурнинг ишчи холатида текширувчи функционал тест билан тугайди. Айрим холларда бундай тест ўз-ўзини текширувчи қурилма тариқасида дастур ичига киритилиши мумкин. Лойиҳалаштиришнинг ҳар бир босқичида ишлатиладиган махсус ёрдамчи воситалар мавжуд. 1.2-пунктда кўриб чиқилишча, бундай воситаларнинг айримлари тизим ишлаб чиқариш, ишлаб чиқиш, ва МП ни ишлатишдан ташқил топган дастурий таъминот тизимини бирлаштиришда фойдаланилади.
1.2 Микропроцессор КР 580 ВМ 80 А ва унинг буйруқлар тизими.
КР 580 ВМ 80 А-8 даражали процессорда жойлашган операцион ва бошқарув қурилмаларидан ташқил топган катта интеграл чизмадир (КИС).
Бошқарувчи хотира истеъмолчига ёпиқ бўлиб, унда КИС ишлаб чиқариш чоғидаёқ амал микродастурлари (буйруқлар бажариладиган микродастурлар) ёзилади.
Шу тариқа истеъмолчи ўзгариш кирита олмайдиган буйруқлар тизими яратиш кўзда тутилган. Шу боисдан ушбу микропроцессор дастурланмайдиган, яъни микробуйруқ сатхида эмас буйруқ сатхида дастурланадиган МП дир. 1.2- расмда КИС КР 580 ВМ 80 А структура чизмаси келтирилган. қисқача унинг таркибини кўриб чиқамиз.
Маълумотлар регистри. Амалда иштирок этувчи маълумотларни сақлаш учун еттита 8 даражали регистр кўзда тутилган. А регистри аккумулятор дейилади ва у ташқи қурилмалар билан информация алмашиши учун мўлжалланган (яъни, унинг таркибидаги сон чиқишга узатилиши ёки унинг киришига сон қабул қилиниши мумкин).
Арифметик ва мантиқий амаллар бажарилган пайтда амалларнинг бири (амалда иштирок этувчи сон) аккумуляторда жойлашади ва шу аккумуляторга амални бажаришдан чиққан натижа ёзилади. қолган олтита B, C, D, E, H, L регистрлар умумий вазифа регистрларини (УВР) хосил қилади, (бу регистрлар ҳам адрес, ҳам маълумотларни сақлаш учун ишлатилгани учун шундай номланади). Бу регистрлар якка 8 даражали регистр тариқасида ҳам ишлатилиши мумкин. 16 даражали иккилик сонларни сақлаш зарурати туғилган холларда улар BC, DЕ, HL жуфт регистрларни хосил қилади.
БР 1, БР 2, W, Z, буффер регистрлари дастурий ёпиқ (яъни мутахассис дастур тузиш вақтида уларга мурожат қила олмайди).
SP-стек деб номланган стек кўрсаткичи (16 даражали ) барча кўринишдаги хотирани адреслашга хизмат қилади (стекни ташқил қилиш қуйида кўриб чиқилади).
ҲР- ҳисоблаш регистри (16 даражали) буйруқ адресини сақлашга хизмат қилади: оператив хотирадан жорий буйруқ танланганидан сўнг ҳисоблагич таркиби биттага оширилади ва шу тариқа навбатдаги буйруқ адреси (шартли ва шартсиз ўтишлар бўлмаган холда) шакллантирилади.
Хотирага мурожаат қилинган пайтда адрес сифатида исталган УВР нинг жуфт регистрлари таркиби ишлатилиши мумкин.
16 даражали адресли кодлар комбинацияси сони 2 га тенг, ушбу кодлар комбинациясининг ҳар бири оператив хотира адреси (номери) дан бирини билдириши мумкин. Шу тариқа таркибида 216 к 26 *210 к 64 К тадан 8 даражали сўз (байт) га эга бўлган хотирага мурожаат қилиш имконияти таъминланади.
Арифметик мантиқий қурилма (АМК) 8 даражали АМК да тўрт арифметик (кичик даражага ўтказишни кўзда тутган ёки тутмаган холларда қушиш, кичик даражадан қарз олишни кўзда тутган ёки тутмаган холларда айириш) тўрт мантиқий (конъюкция, дизъюнкция, нотенглик, таққослаш) холда тўрт хил (чапга, ўнгга, циклик чапга ва ўнгга) силжиш амалларини бажариш имкониятига эга.
Силжиш амаллари фақатгина аккумулятор таркибида бажарилади. Ўнлик сонлар устидан ҳам арифметик амаллар бажарилиши кўзда тутилган.
Ўнлик сонларни сақлашда регистрлар даражаси икки гурухга бўлинади, ҳар бир гурухда битта ўнлик сон, яъни 8421 коди холда берилган 4 даражали кўринишида берилади. Шундай қилиб, регистрда 2 даражали ўнлик сонни сақлаш мумкин. Ўнлик рақамларни қўшиш амалини бажаришда натижани 0110 ни қўшиш йўли билан тахрир қилиш талаб қилиниши мумкин. Натижанинг ҳар бир 4 даражали гурух натижаси устида тахрири МП да ўнлик тахрир чизмаси (УТЧ) ёрдамида бажарилади.
Аломатлар регистри -(АР). Бу 5 даражали регистр айрим амаллар бажариш натижасида пайдо бўлган соннинг аломатини сақлаш учун хизмат қилади. Ушбу регистрнинг 5 та триггери қуйидагилар учун хизмат қилади:
- Тс триггер (ўтиш триггери) – агар сумматорнинг юқори даражаси чиқишида қўшиш амалининг бажарилиши натижасида ўтиш сигнали ёки ошириш амалининг бажарилиши натижасида қарз олиш юзага келса, у холда ўтиш аломати Ск1.
- Тг триггер (ноль триггери)-агар амални бажариш натижаси 0 га тенг бўлса, у холда ноллик аломати Zк1.
- Ts (белги триггери) – агар буйруқни бажариш натижаси манфий бўлса, у холда Sк1.
- Тр (жуфтлик триггери)- агар амал бажариш натижасида барча даражалар қийматининг модуль 2 бўйича йиғиндиси 0 бўлса, у холда Рк1.
- Ту (ёрдамчи ўтиш триггери)- агар ўтиш 3- даражадан 4- даражага юз берса, у холда ёрдамчи ўтиш аломати СУк1, ушбу аломат ўнлик тахрир иштирокида ўнлик сонларни қўшиш амалини бажариш пайтида ишлатилади, ундан ташқари, СУ аломати 4- даражали сўзлар устида арифметик ва мантиқий амаллар бажариш пайтида ишлатилади.
Бошқарув блоки. У буйруқнинг биринчи байти қабул қилинадиган буйруқ регистридан ва алохида тармоқда шакллантирилган микродастур таъсири асосида бажариладиган сигналларни бошқарув қурилмасидаги буйруқ регистридан ташқил топган. Бошқарув қурилмаси дастурланган мантиқий матрицада бажарилган ва алохида амаллар микродастури сақланадиган бошқарув хотирасидан ташқил топган.
Бироқ олдин айтиб утганимиздек, истеъмолчи бошқарув хотирасини, демакки, буйруқ таркибини ўзгартира олмайди.
Буфер. Маълумот ва адрес буферлари марказий процессорнинг ташқи маълумот ва адрес шиналари билан алоқасини таъминлайди.
Буферларнинг хусусияти шундан иборатки, улар ҳар бир даражада уч холатли мантиқий элементни ишлатади. Уларда мантиқий 0 ва мантиқий 1 холатларидан ташқари яна учинчи холат, яъни уларнинг чиқиш қаршилиги деярли чексизликка тенг бўлиб, мазкур шинадан узилган бўлади. Бундай буферларнинг ишлатилиши процессорга ташқи шиналардан узилиб уларни ташқи қурилмалар ихтиёрига топширишни, шунингдек ягона шинани ҳам маълумотларни қабул қилишга (кириш шинаси сифатида ҳам) маълумотларни чиқаришга (чиқиш шинаси сифатида ҳам) ишлатиш имконини беради.
Шиналарнинг бундай ишлатилиши микросхемаларнинг чиқишлар сонини қисқартиришга имкон беради.
1.3-расмда ички ва ташқи маълумот шиналари ўртасидаги икки томонлама маълумот алмашув тамойили кўрсатилган.
1.3-расм. Ички ва ташқи маълумот шинасининг икки томонлама маълумот алмашув тамойили.
Агар маълумотни қабул қилиш бажарилса, (яъни маълумот ташқи маълумот шинасидан ички маълумот шинасига узатилса) ва учинчи холатга ўтиб, чиқиш мантиқий элементлари узилади; маълумотни чиқаришда эса (маълумотни ички шинадан ташқи шинага узатилса), кириш мантиқий элементлари узилади.
Маълумотлар ва буйруқлар формати
Маълумотлар оператив хотирада ва процессорда 8 даражали иккилик сонлар кўринишида сақланади. Шундай қилиб, маълумотлар қуйидаги форматга эга: Буйруқлар учун бир, икки, уч байтлик форматлар ишлатилади.
Буйруқларнинг бир байтли формати:
Буйруқлар кўпинча бир байтлик бўлади.
Буйруқларнинг икки байтли формати.
Икки байтли буйруқларнинг биринчи байтида бажарилаётган амал коди кўрсатилади. Иккинчи байтида амал бажариш операнди бўлган ёки маълумот алмашиш пайтида кириш ёки чиқиш қурилмасининг тартиб рақами бўлган сон келтирилади.
Уч байтли буйруқлар формати.
Уч байтли буйруқларнинг байти қуйидаги вазифаларни бажаради: биринчи байтда бажариладиган амал коди берилади, кейинги икки байт икки байтли буйруқ адресини белгилаш учун ишлатилади (шартли ва шартсиз ўтишлар, ва қисм дастурга мурожат этиш бажарилса). Шунингдек оператив хотира ячейкаси адреси, ҳам икки байтли операнддир. Барча холларда В2 –кичик байт, В3 -юқори байт деб юритилади.
Адреслаш усуллари
Буйруқда амал кўринишидан ташқари маълум бир амал бажарилиш учун амалда иштирок этувчи сонлар ва амал бажариш натижаси жойлаштириладиган урни (бошқача қилиб айтганда, операнднинг қабул килувчиси ва манбааси) хакида кўрсатма сақланиши керак. Адреслаш усуллари деганда, операнднинг қабул килувчиси ва манбасини кўрсатадиган усуллар тушунилади.
Микропроцессорларда қуйидаги адреслаш усуллари қўлланилади.
Тўғридан- тўғри адреслаш. Бу усулда операнд адреси бўлиб буйруқда (адреслаш коди байтида) кўрсатилган микропроцессор регистрининг адреси бўлиб хизмат қилади.
Регистрлар адреси 1.1- жадвалда келтирилган.
1.1-жадвал.
Регистр |
Буйруқда ишлатиладиган регистрлар адреси |
Регистр |
Буйруқда ишлатиладиган регистрлар адреси |
B |
000 |
H |
100 |
C |
001 |
L |
101 |
D |
010 |
M |
110 |
E |
011 |
A |
111 |
М- деганда HL жуфт регистрлар таркиби адреси бўлиб хизмат қиладиган оператив хотира ячейкаси тушунилади.
Энди 1-иловада келтирилган микропроцессор буйруқлари руйхатидан олинган тўғридан-тўғри адреслашнинг айрим мисолларни кўрсатамиз.
Бу ерда мнемоника деганда буйруқни осон эслаб колишга ёрдам берувчи қисқартирилган белгини тушунамиз.
1.2-жадвал.
Буйруқ мнемоникаси |
Буйруқнинг кодлар комбинацияси |
Бажариладиган амал |
MOV C, D |
01 001 010 |
C (D) |
ADD D |
10 000 010 |
A (A)-(D) |
Буйруқнинг 01 001 010 кодлар комбинациясининг юқори 01 икки даражаси амал кодини (бир регистр таркибини иккинчи регистрга жўнатиш амалини), кейинги иккита 3 даражали (001 ва 010) гурухлар С ва Д регистрлар адресини билдиради 10000010 буйруқда юқори беш даража (10000) бажарилаётган амал (қўшиш амали) коди, кичик уч даража (010) эса операнд манбаси бўлиб хизмат килган Д регистр адресини билдиради.
Қўшиш амалини бажариш пайтида бошқа операнд манбаси ва қабул қилувчиси бўлиб А регистр (аккумулятор) хизмат қилади.
Бевосита адреслаш. Адреслашнинг бу усулида операндлар (бир ёки иккита) амал коди операндидан кейинги иккинчи ёки учинчи байтда буйруқ ичида бевосита берилади.
Қуйида бевосита адреслашнинг айрим буйруқларига мисоллар келтирилган:
1) ADI B1 11000 110 A.(A)-<B2>
B2 01001 100
2) MVID B1 00010 110 D.<B2>
B2 01001 110
3) LXID B1 00010 001 D.<B3>: E.<B2>
B2 01100 101
B3 10100 101
ADI мнемоникали буйруқ унинг иккинчи байтида келтирилган сон билан аккумулятор таркибини қўшишни бажаради (мисолда бу сон 4 СН га тенг).
MVI буйруғи унинг иккинчи байтида келтирилган сонни (мисолда бу сон 4 ЕН га тенг) адресли Д5, Д4, Д3 даражаларида кўрсатилган Д регистрига жўнатади.
LXI буйруғи унинг иккинчи ва учинчи байтларда келтирилган сонларни (мисолда бу сонлар 65 Н ва A5Н га тенг) ДЕ жуфт регистрларнинг мувофиқ тарзда кичик ва юқори даражаларига жўнатади. Бу жуфт регистрлар биринчи байтининг Д5, Д4, Д3 даражаларида шу жуфт регистрлар бирининг адреси 010 кўрсатилади.
Мавхум адреслаш. Адреслашнинг бу усулида оператив хотирада жойлашган операнд адресини билдирувчи РОН жуфт регистрлар таркиби берилади (бу нарса ушбу жуфт регистрлар бирининг адресини буйруқда берилиш йўли билан амалга оширилади).
Мавхум адреслашли буйруқларга мисол келтирамиз.
1) LDAX B 00001 010 A [(BC)]
2) STAX B 00000 010 [(BC)] (A)
Бу ерда [(BC)] ёзуви адреси ВС жуфт регистрлар таркиби бўлган хотира ячейкасини билдиради.
LDAX буйруғи бўйича ВС жуфт регистрлар таркиби оператив хотира адреси бўлган ячейкани аккумуляторга жойлаштиради. (айнан шу жуфт регистрларни танлаш учун буйруқнинг Д5, Д4, Д3 даражалари С регистрининг 001 адреси билдиради).
STAX B буйруғи бўйича аккумулятор таркиби ВС жуфт регистрлар таркибидан келиб чиқадиган ячейка адресида эслаб колинади (айнан шу жуфт регистрларни танлаш учун В регистрдаги 000 адрес буйруқнинг Д5, Д4, Д3 даражаларини билдиради).
Микропроцессорнинг ишлаш тамойили
1.4 расмда КР 580 серияли микропроцессор қурилмасининг структура чизмаси кўрсатилган. Такт импульслари генератори (ТИТ) микропроцессорни тактлашга зарур бўлган ф 1 ва ф 2 икки импульс кетма-кетлигини ишлаб чиқаради (1,5 расм). Бу икки кетма-кетликдаги импульслар вақт бўйича бир-бирини қопламаслиги ва амплитудаси 1213 бўлиши керак. Доимий хотира қурилмаси (ДХк) дастурни сақлаш учун, оператив хотира қурилмаси (ОҲҚ) эса маълумотларни сақлаш учун ишлатилиши мумкин. МПКнинг умумий ишлаш тамойили қуйидагилардан иборат: МП дан адрес шинасига навбатдаги буйруқ адреси берилади. Ушбу адрес бўйича хотирадан (масалан ДҲҚ дан) ўқилган буйруқ маълумотлар шинасига тушади ва ундан МП томонидан ўқилади ва бажарилади. МП буйруқлари ҳисобдагичида кейинги буйруқ адреси шакллантирилади.
Мазкур буйруқ бажарилиши якунланганидан сўнг адреслар шинасига кейинги буйруқ адреси келиб тушади ва хоказо. Буйруқнинг бажарилиши чоғида МП дан буйруқнинг қўшимча байтларини (икки-уч байтли буйруқ бўлган холларда) операндларни ёки МП дан чиқарилган сонни хотирага ёзиш учун хотирага қўшимча мурожаат қилиш талаб қилиниши мумкин.
Буйруқнинг бажарилиш жараёнини батафсил кўриб чиқамиз. Бу жараён М1, М2, М3, М4, М5 деб белгиланган циклларга бўлиб чиқилади. Ҳар бир циклда МПнинг хотирага ёки К 4 К га (ДАД буйруғини бажариш холи бундан мустасно) бир марта мурожаат қилиш бажарилади.
Буйруқ ўз типига қараб бир (М1) ёки икки (М1, М2), ёки уч (М1, М2, М3) ва хоказо циклда бажарилиши мумкин.
Вақт бўйича энг узун буйруқлар беш циклда бажарилади.
Ҳар бир цикл ўз ичига бир неча тактни (Т1, Т2, Т3, Т4, Т5) олади. Цикллар уч (Т1, Т2, Т3), тўрт (Т1, Т2, Т3, Т4) ёки беш (Т1, Т2, Т3, Т4, Т5) тактдан иборат бўлиши мумкин. Барча циклларда биринчи уч тактлар хотира ва К 4 К билан алмашинувни ташкил қилишда тўртинчи ва бешинчи тактлар (агар циклда кўзда тутилган бўлсалар)- МП нинг ички амалларини бажаришда ишлатилади.
1.5 расм. Импульсларнинг такт кетма-кетлиги.
Тактлар боши ф1 импульснинг олдинги фронтидан бошланади. М1 циклини кўриб чиқамиз. Т 1 тактида буйруқ ҳисоблагичи таркиби адреслар шинасига узатилади, у хотира томонидан ўқилади ва у ерда берилган ячейкадан буйруқ байтини ўқиш жараёни бошланади. Т 2 тактида «тайёрлик» киришида (мантиқий 1 холати) сигнал борлигини текширилади. Бу сигнал хотирадан ўқишни якунлашга етарли вақт оралиғидан сўнг МП киришга узатилади. Агар «тайёрлик» киришда сигнал бўлмаса (мантиқий 0 холати) бу холда МП кутиш режимига ўтади ва «тайёрлик» киришида сигнал пайдо бўлмагунча ҳар бир кейинги такт Т 2 деб тушунилади.
Ушбу сигнал пайдо бўлгач МП кўтиш холатидан чиқади ва Т3 тактга ўтади. Бу тактда хотирадан чиққан буйруқ байти маълумотлар шинаси орқали МПга қабул қилинади ва у ерда буйруқ регистрига жойланади. Т 4 да қабул қилинган буйруқ байти анализ қилинади ва оператив хотирага қўшимча мурожаат кераклиги аниқланади. Агар бундай мурожаат керак бўлмаса (яъни буйруқ бир байтли бўлса ва операндлар МП регистрларида жойлашган бўлса) у холда шу тактда ёки қўшимча Т5 такти ёрдами билан буйруқда кўзда тутилган амал бажарилади.
1.6-расм. Синхронлаш ва холатларни строблаш сигналлари.
Агар оператив хотирага қўшимча мурожаат керак бўлса, у холда Т4 таркибдан сўнг М1 цикл якунланади ва М2 циклга ўтиш юз беради. Масалан, буйруқ бир байтли бўлсин, лекин амалда оператив хотирада сақланаётган операнд иштирок этиши лозим бўлсин.
Бу холда М2 циклида қуйидаги жараён юз беради: Т1 тактда хотира ячейкаси адреси берилади, Т2 тактида «тайёрлик» чиқишида сигнал пайдо бўлиш текширилади (хотирадан ўқиш учун етарли вақт интервали ўтгани хақидаги сигнал).
Бу сигнал пайдо бўлиши билан Т3 тактига ўтиш содир бўлади ва у ерда хотирадан чиқарилган сон маълумотлар шинаси орқали МП га қабул қилинади ва шу такт ичида буйруқда кўзда тутилган амал бажарилади. Кўпчилик буйруқларни ишлатиш хотирага қўшимча мурожаат қилинганда М1 цикли тўрт тактдан ташкил топади, қолган барча циклларда учтадан такт бўлади ва хотирага бир марта қўшимча мурожаат қилинади.
Микропроцессорлар холатлари хақида маълумот
Т1 циклнинг Ф2 импульс кетма-кетлигининг олдинги фронти ва Т2 циклнинг худди шу фронти оралиғида МП «Синхронлаш» чиқишига мантиқий 1 холатини ва маълумот шинасига холатлар хақида маълумотни узатади. «И-НЕ» элементи (1,4-расм) холатлар регистрига маълумотлар шинаси орқали МП холати хақида маълумот берадиган строб хосил қилади. (1,6-расмда холатларни строблаш вақт диаграммаси кўрсатилган).
1.3 жадвалда холатлар кодидаги алохида даражаларнинг тайинланиши кўрсатилган.
1.3-жадвал
Даража |
Сигналнинг тайинланиши |
ДО |
Узилишни тасдиқлаш: узилишни сўраган қурилмадан МП га RST строблаш буйруғи узатишда ишлатилади |
Д 1 |
Ёзиш-чиқариш: мантиқий «0» ушбу циклда ёзиш (МП дан ОҲҚга Маълумот узатиш) ёки чиқариш (МП дан КЧҚ га маълумот узатиш) дан дарак беради. Мантиқий «1» – ўқиш (ОХҚдан қабул) ёки киритиш (КЧҚ қабул)дан дарак беради. |
Д 2 |
Ушбу цикл адрес шинасида стек кўрсаткичининг таркиби жойлашганидан дарак беради. |
Д 3 |
Тўхташни тасдиқлаш: МП тўхташ холатида эканлигидан дарак беради. |
Д 4 |
Бу цикл адрес шинасида ташқи қурилма тартиб рақами ўрнатилганлигидан ва аккумулятор таркибининг чиқиш қурилмасига чиқарилганидан дарак беради. |
Д 5 |
Ушбу цикл МП буйруғининг биринчи байтини қабул килаётганидан дарак беради. |
Д 6 |
Ушбу цикл адрес шинасида кириш қурилмасининг тартиб рақами ўрнатилганлигидан ва МП аккумуляторига кириш қурилмасидан маълумотнинг кириши юз берганидан дарак беради. |
Д 7 |
Ушбу цикл ўқиш (хотирадан МП га маълумотни қабул қилиш) бажарилганидан дарак беради. |
Микропроцессорлар тизими буйруқлари 1-иловада келтирилган. Буйруқлар гурухларга бўлинган. Ҳар бир гурух бир канча амал типларидан ташқил топган бўлади. Ҳар бир амал Di урнига регистр адреси, Si урнига эса буйруқ типини аниқлайдиган 3 даражали кодлар комбинацияси куйилиши лозим бўлган буйруқларнинг кодлар комзбинацияси структураси билан тавсифланади. Жадвалда буйруқда мавжуд бўлган байтлар сони кўрсатилган. 1.4-жадвалда сигналлар холати циклларининг айрим кўринишлари билан мутаносиблиги келтирилган.
1.4-жадвал.
Цикл тури |
Микропроцессор холати |
|||||||
Д 7 |
Д 6 |
Д 5 |
Д 4 |
Д 3 |
Д 2 |
Д 1 |
Д 0 |
|
Буйруқ биринчи байтини танлаш |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
Хотирадан ўқиш |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
Хотирага ёзиш |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Стекни ўқиш |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
Стекка ёзиш |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
КЧК га кириш |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
КЧК дан чиқиш |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
Узилишни тасдиқлаш |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
Тўхташни тасдиқлаш |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
Тўхташ пайтида узилишни тасдиқлаш |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
Циклик силжиш амаллари
Циклик силжиш амаллари аккумулятор таркиби устида бажарилади ва тўрт хил силжишни кузда тутади.
1. Чапга ўтказишсиз циклик силжиш (4 ЦС) (1.7 а расм): А аккумулятори таркибининг ҳар бир даражаси қўшни юқори даража (А (А)), энг юқори даража энг кичик даражага (АО (А 7) ва шу вақтнинг узида ўтказиш триггерига (ТС (А 7)) ўтказилади.
2. Ўнгга ўтказишсиз циклик силжиш (УЦС) (1.7-б расм): А аккумулятори таркибининг ҳар бир даражаси қўшни кичик даражага (А (А)), энг кичик даража энг катта даражага (А 7( А 0)) ва шу вақтнинг ўзида ўтказиш триггерига (Тс (АО)) ўтказилади.
1.7-расм Силжишлар:
3. Ўтишли чапга циклик силжиш (1.7 в расм): ўтишсиз силжишдан фарқи шундаки, Тс триггери ёпиқ контурга олинади, бу триггер ўз таркибини аккумуляторнинг кичик даражасига (АО(Тс)) узатади ва ўзининг таркибига аккумулятор юқори даражасини қабул қилади. (Тс (А 7)).
4. Ўтишли ўнгга циклик силжиш (1,7 г расм) ўтишсиз силжишдан фарқи шундаки, Тс ўтиш тригери ўз таркибини аккумуляторнинг юқори даражасига (А7 (Тс)) узатади ва ўз таркибига аккумуляторнинг кичик даражасини қабул қилади (Тс (АО).
Стек
Стек-адреслаш формаси соддалаштирилган (маълум) хотирадир. КР 580 МПКда стек қуйидагича ташкил қилинади. Оператив хотирада буйруқлар кичик, кетма-кет ўсиб борувчи адресли ячейкаларда жойлашади. Стек юқори адресли ячейкалардан фойдаланади ва у тўлиб боргани сайин кетма-кет камайиб борувчи адресли ячейкалар эгалланади. Шундай қилиб, бу икки хотира бўлаклари адреслари бир-бирига томон ўзгариб келади. (1.8-а расм).
Стекни ташкиллаштириш хусусиятлари қуйидагилардан иборат. Стек кўрсаткичи SP стекка кириш адресини ўз ичига олади, стекдан ўқиш пайтида стекка кириш адреси бўйича ячейка таркибининг танланиши содир бўлади (SP да сақланадиган адрес бўйича), стекка ёзиш пайтида SP таркибидан биттага камайтирилган сон ячейка адресига жойлаштирилади: шу вақтнинг ўзида SP таркиби ҳам ўзгаради ёзиш пайтида биттага камаяди, ўқиш пайтида биттага камаяди. Стек билан алмашув 2 хотира ячейкасини эгалайдиган икки байтли сўз билан амалга оширилади. Масалан, фараз қилайлик, стек кўрсаткичи А адресини сақлайди.
а)
0 буйруқлар
1 ячейкалари
2
:
(SP)
: Стек
: ячейкалари
N
N-1
б)
в)
А
1.8-расм:Стек а) ОҲҚда стекни ташқиллаштириш; б) стекка ёзиш жараёни; в) стекдан ўқиш жараёни.
Янги сўзни киритиш пайтида унинг байтлари А1 ва А2 адресли киришга қўшни бўлган жуфт стек ячейкасига жойлаштирилиши лозим. Шундай қилиб, стекка кириш қуйидаги тартибда бажарилади: SP таркиби биттага камайтирилади ва SP да хосил бўлган адресга киритилаётган сўзнинг юқори байти жойлаштирилади: сўнг SP таркиби яна биттага камайтирилади ва хосил бўлган адресга киритилаётган сўзнинг кичик байти жойлаштирилади (1,8- б расм).
Кўрамизки, SP ҳар сафар стек эгаллаган (стекка кириш деб аталган) охирги ячейка адресини кўрсатади.
Стекдан маълумотларни чиқариш ҳам икки байтли сўзлар орқали бажарилади.
Бу холда ўқиш учун ҳар сафар фақатгина адреси SP да жойлашган ячейкагина яроклидир.
Агар стек кўрсаткичи А адресини сақласа, у холда стекдан чиқаётган сўз адреслари А ва Ак1 бўлган хотира ячейкаларидан танлаб олинади. Шундай қилиб, стекдан сўз танлаш қуйидаги тартибда бажарилади: адреси SP таркиби бўлиб хизмат қиладиган ячейкадан киритилаётган сўзнинг кичик байтини ўқиш: ва SP таркибини биттага кўпайтириш; сўнг SP адресида сақланаётган чиқарилаётган сўзнинг юқори байтини ўқиш ва SP таркибини байтга камайтириш. (1.8-в расм). Хотирага жойлашган охирги ёзилган маълумотнинг ишлаш тамойилини «охирги кирди- биринчи чиқади» тамойилларига хос дейилса бўлади. Кўриб турганимиздек, ўқиш ва ёзиш пайтида адреси SP таркиби билан боғлиқ бўлган ячейкача мурожаат қилиняпти. Бу хол хотиранинг адресланишини осонлаштиради, аммо ихтиёрий хотира ячейкаларига мурожаат қилиш имкониятидан махрум қилади.
1.3. КР 580 BM 80А микропроцессорларида дастурлаш усуллари
1.3.1. КР 580 BM 80А микропроцессорларининг кодлар комбинацияси тилида дастурлаш усуллари
Таркибида тармоқланиши мавжуд бўлган бор ва алгоритмли қисмларни дастурлашни кўриб чиқамиз.
1-мисол. қўшни ячейкаларда сақланаётган ОҲҚ дан икки сонни қабул қилиш ва икки соннинг айирмасини ОҲҚ нинг иккинчи сони урнига жойлаштириш талаб қилинсин. Биринчи соннинг адреси HL жуфт регистрларда, иккинчи соннинг адреси эса шу регистрлар таркибидан биттага кўп деб ҳисоблаймиз. 1.9-расмда шу мисолнинг ечиш алгоритми, КР 580 серияли микропроцессорлар бажарадиган амаллар асосида курилган холати келтирилган. Энди алгоритмнинг ҳар бир блокда бажарган амалларини куриб чиқамиз.
1-блок. ОҲҚ (М) ячейкаси таркибини аккумуляторга қабул қилади. Бунда ОҲҚ (М) ячейкаси адреси бўлиб HL жуфт регистрлар таркиби олинади. Шундай қилиб, А регистрига сонларнинг биринчиси қабул қилинади ва бу амал регистр-регистр жўнатиш буйруғи ёрдамида бажарилиши мумкин. (буйруқнинг мнемоник ишораланиши MOV A, M).
2-блок. HL жуфт регистрларда иккинчи сон адресини шакллантиради; бу амал жуфт регистрларни орттирмаси буйруғи ёрдамида бажарилади (буйруқнинг мнемо ишораланиши NXH).
А ¬ (М)
1
2
|
A
¬ (A) – (M)
3
M
¬ (A)
4
1.9.Хотирада сақланаётган сонлар айирмасининг алгоритм чизмаси.
3-блок аккумулятор (А) ва ОҲҚ (М) ларнинг айирмаси таркибини ҳисоблайди, бунда адрес бўлиб HL жуфт регистрлар таркиби ишлатилади. Амал айириш буйруғи SUB M ёрдамида бажарилади.
4-блок аккумуляторда хосил бўлган айирмани хотирага жўнатади; (бу амални бажариш мнемоникаси MOV A, M)
1.5.Жадвалда ушбу мисолнинг дастури буйруқларнинг кодлар комбинацияси орқали ифодаланиши билан бирга келтирилган.
Дастур буйруқлари шартли ва шартсиз кучиш йўқ бўлса кетма-кет ошувчи адрес хотира ячейкасига жойлаштирилади. Ушбу дастурни қуриш буйруқларни жойлаштириш адреси 0050 бўлган ячейкадан бошлаб бажарилган.
1.5.жадвал
ОХ буйруқ адреси (16 саноқ тизимида) |
Буйруқ |
Изох |
||
Кодлар комбинацияси |
Байтлар сони |
Тактлар сони |
||
0050 |
01 111 110 |
1 |
7 |
Блок 1: А ¬ (М) |
0051 |
00 100 011 |
1 |
5 |
Блок 2: HL¬(HL)+1 |
0052 |
10 010 110 |
1 |
7 |
Блок 3: А¬(А)(М) |
0053 |
01 110 111 |
1 |
7 |
Блок 4: М¬(А) |
Юқорида келтирилган тўрт буйруқ тактлар умумий сони:
NT = 7+5+7+7=26
ва уларни ижро этиш умумий вақти
tисп = NT ×T = 26 ´ 0,5 = 13 мкс.
Триггер ва аломатли регистр таркиби ишлатилган дастурлаштиришга мисол кўриб чиқамиз.
2-мисол: D регистр таркиби устидан арифметик ўнгга силжиш амали бажариш талаб қилинади.
Арифметик ўнгга силжиш амалининг ўзига хос хусусияти шундан иборатки, силжиш чоғида регистрнинг юқори (белгили) даражаси ўзгармас сақланади. (1.10. расм). Шундай қилиб, ушбу амални бажариш пайтида юқори даража таркибини дастлаб эслаб колиш, сўнг регистр таркибини ўнгга силжитилгандан сўнг унинг юқори даражасига аввал эслаб қолинган сонни ёзиш талаб қилинади.
а).
A
¬ (D)
б)
1.
A
¬ СЦП утказишсиз
(А)
2.
А ¬
СЦП (А)
3.
А ¬
СЦП (А)
4.
1.10. ўнгга арифметик силжиш
а). тамойили б). алгоритм чизмаси.
Ушбу ҳаракатлар 1.10.б. расмда ифодаланган алгоритм чизмасининг дастур бўлагида бажарилади. Силжиш амаллари фақат аккумулятор таркиби устида бажарилган учун, 1-блокда регистр D таркиби аккумуляторга жўнатилади. Кейинги блокларда бажариладиган амаллар 1.6.жадвалда кўрсатилган.
1.6 жадвал
(ТС) |
(А) |
Бажарилаётган амал |
х |
10110110 |
Дастлабки холат |
1 |
01101101 |
Ўтказишсиз чапга силжитиш |
1 |
10110110 |
Ўтказишли ўнгга силжитиш |
0 |
110 11011 |
Ўтказишли ўнгга силжитиш |
2-блокда ўтказишсиз чапга циклик силжиш амали бажарилади. Ушбу амал бажарилиши натижасида сон белгиси аккумуляторнинг кичик даражасига ва ўтказиш триггери (ТС) га юборилади.
Сўнг икки марта ўтказишли ўнгга циклик силжиш амали бажарилади (3-4 блоклар) амали бажарилиши натижасида
1-силжиш аккумуляторда дастлабки сон қайта хосил қилинади, триггер (ТС) да эса сон белгиси қайта хосил қилинган бўлиб чиқади. 2-силжиш амали бажарилгандан сўнг аккумуляторда ўнгга арифметик силжиш натижаси бўлган сон хосил бўлади. 1.7-жадвалда 1.10-расмга мос буйруқларнинг кодлар комбинацияси ифодаланган амалнинг алгоритм чизмаси келтирилган.
1.7-жадвал.
ОҲ ги буйруқ адреси (16-саноқ тизимида) |
Кодлар комбинациясидаги буйруқлар |
Изох |
0071 |
01 11 010 |
Блок 1: А ¬ (D) |
0072 |
00 000 111 |
Блок 2: ўтказишсиз чапга циклик силжиш. |
0073 |
00 011 111 |
Блок 3: ўтказишли ўнгга циклик силжиш. |
0074 ××× |
00 011 111 ××× |
Блок 4: ўтказишли ўнгга циклик силжиш |
Тармоқланишни дастурлаш
В регистрида сақланадиган сон энг кичик даражасининг таркибини тахлил қилиш талаб этилади. Агар у 0 га тенг бўлса, В регистрининг таркибига С регистирининг таркибини қўшиш лозим; агар у 1 га тенг бўлса В регистрининг таркибига D регистирининг таркибини қўшиш лозим.
1.11-расда ушбу масала алгоритмининг схемаси берилган.
1
2
“1”
3 “0”
5
4
6
7
1.11-расм. Тармоқланиш жараённининг алгоритм схемаси.
Бу ерда 1 ва 2-блоклари В регистрида сақланадиган сон энг кичик даражасининг таркибини белгилар регистирининг Тс триггерига узатади. 3-блок Тс триггерининг таркиби бўйича тармоқланишни амалга оширади: регисторнинг таркибидан келиб чиқиб аккумуляторга ёки С регистирининг таркиби (4-блок), ёки D регистирининг таркиби (5-блок) ўтказилади. 6-блок қўшишни амалга оширади. 7-блок аккумуляторда олинган суммани В регистирига қайта юборади.
1.8-жадвалда куриб чиқилган алгоритмни амалга оширувчи ОП буйруқларнинг жойлашиши кўрсатилган.
1.8-жадвал.
Адрес |
Буйруқ |
|||
…
0167
0168
0169
016A
016B
016C
016D
016E
016F
0170
0171
0172
… |
…
Блок 1: A ← (B)
Блок 2: A ← ЦЎС (A)
Блок 3: УсП (Тс)=1 бўлганда ячейке 0170га.
Блок 4: A ← (C)
0171 адресли ячейкага шартсиз ўтиш
Блок 5: A ← (D)
Блок 6: A ← (A) + (B)
Блок 7: B ← (A)
… |
1-блок операциясини амалга оширувчи буйруқ 0167 манзилдаги ОП ячейкасига жойлаштирилади. Дастурни бажаришда кейинги буйруқ қўшни 0168 манзилдаги ячейкасидан ўқилади ва бу ячейка 2-блок операциясини амалга оширувчи буйруқни ўз ичига олиши керак. Сўнгра кейинги 3 ячейкадан 0169, 016А, 016В шартли ўтишнинг уч байтли буйруғи (Тс) = 1 (3-блок) бўйича ўқилиши керак, (Тс) = 0 бўлса, дастурни бажаришда буйруқларни ўқийдиган ячейкаларни тадқиқ қилиш жараёнида табиий тартибнинг бузлишлари содир бўлмайди ва навбатдаги буйруқ (4-блок) 016С манзилдаги ячейкадан ўқилади; (Тс) = 1 бўлса, 5-блок буйруғини сақловчи 0170 манзилдаги ячейкага ўтиш (ушбу манзил шартли ўтиш буйруғининг иккинчи ва учинчи байтларида келтирилади). Бундан кейин 4-блок ёки 5-блок буйруғи бажарилишидан қатъий назар 6-блокда назарда тутилган операциялар қуйидаги ҳаракат билан бажарилиши керак. 0170 ячейка билан ўқиладиган буйруқ бажарилгандан кейин 6-блокнинг навбатдаги буйруғи қўшни 0171 ячейкадан ўқилади. Агар 4-блок буйруғи бажарилса, бажарилишидан кейин 0171 ячейкасига ўтиш шартсиз ўтишнинг уч байтли буйруқ билан 016D, 016Е, 016F ячейкасига сиғадиган (ушбу 0171 манзил шартли ўтиш буйруғининг иккинчи ва учинчи байтларида келтирилади) бажарилиши мумкин. Кейин навбатдаги 0172 ячейкадан 7-блок операциясини бажарувчи буйруқ ўқилади.
1.9-жадвалда қуйидаги мисолни дастури келтирилган.
1.9-жадвал.
ОҲда адрес буйруғи |
Кодли комбинацияда буйруқ |
Байтлар сони |
Изох |
… |
… |
… |
… |
0167 |
01 111 000 |
1 |
Блок 1: A ← (B) |
0168 |
00 001 111 |
1 |
Блок 2: A ← ЦЎС (A) |
0169 016A 016B |
11 011 010 01 110 000 00 000 001 |
3 |
Блок 3: УсП, (В3В2)=0170 ячейкага (Тс)=1 бўдганда |
016C |
01 111 001 |
1 |
Блок 4: A ← (C) |
016D 016E 016F |
11 000 011 01 110 001 00 000 001 |
3 |
(В3В2)=0171 ячейкага шартсиз ўтиш |
0170 |
01 111 010 |
1 |
Блок 5: A ← (D) |
0171 |
10 000 000 |
1 |
Блок 6: A ← (A) + (B) |
0172 |
01 000 111 |
1 |
Блок 7: B ← (A) |
Циклик ҳисоб-китоб жараёнларини дастурлаш
Икки саккиз разрядли сонларнинг белгисиз кодли кўпайтириш операциясининг бажарилишини куриб чиқамиз. Кўпайтма жуфт DЕ регистрида сақлансин, бунда у кичик Е регистирини, катта D регистрини эгаллайди, жуфт регистри 0да белгиланган. Кўпайтувчи А аккумуляторида сақланмоқда деб фараз киламиз. Ўн олти разрядли кўпайтмани жуфт НL регистрида шаклллантирамиз.
Кўпайтмани олиш жараёнини қўйидагича ташқил қиламиз. Кўпайтувчининг разрядларини катта разрядидан бошлаб тахлил қиламиз. Шу билан бирга қисман кўпайтмалар катта қисман қўпайтмадан бошлаб шаклланади. Қисман кўпайтма суммаларнинг йиғиндиларини жуфт HL регитрида ўтказилади, яъни олдиндан жуфт HL регитрнинг нолга тенглаштирилган таркибига саккиз қисман кўпайтмани қўшамиз сўнг жуфт HL регитрнинг таркибини битта разрядга чапга суриб еттинчи қисман қўпайтмани қўшамиз ва ҳоказо то ки барча қисман кўпайтмаларнинг суммаси чиқарилмагунча.
Шундай қилиб бу жараён циклик ҳарактерга эга: жуфт HL регитрлар нинг таркибини чапга суриш, жуфт HL регитрнинг таркибига навбатдаги қисман кўпайтмани шакллантириш ва қўшиш операциясини ўз ичига олган цикл саккиз марта қайтарилиши керак.
Цикл қайтарилиш миқдорини ҳисоблаш учун В регистрида ҳисоблагич ўрнатамиз.
Ушбу регистрга олдиндан 8 сонини киритамиз ва циклнинг ҳар бир қайтарилишдан кейин В регистр таркибидан бирни айириб, нолга тенг эканлигини текширамиз. Нолга етиб келгандан кейин циклдан чиқиб кетилади. 1.12-расмда алгоритмнинг схемаси берилган. 1-блок жуфт HL регитрда ноль қийматини ўрнатади. 2-блок В регистрида (ҳисоблагич) бошланғич 8 ни ўрнатади. 3-блок жуфт HL регитрнинг таркибини битта разрядга чапга суради; бу операция регистрларнинг ушбу жуфтининг таркиби кўпайтириш йўли билан бажарилади: НL (НL) + (НL). 4-блок кўпайтувчининг навбатдаги разрядини тахлил қилиш учун мўлжалланган; бунинг учун А аккумуляторининг таркиби чапга сурилади натижада кўпайтувчида сақланадиган навбатдаги разряди белгилар регистрининг Тс триггерига ўтказилади. 5-блок Тс триггерининг таркиби бўйича тармоқланишни амалга оширади.
1.12-расм. Кодли кўпайтириш операциясини алгоритм схемаси.
6-блокда (Тс) =1 бўлганда кўпайтувчини (жуфт DE регистрнинг таркиби) жуфт HL регитрда олдинги қисман кўпайтмалар суммасига қўшиш операцияси бажарилади. (Тс)=0 бўлганда суммаларни чиқариш операцияси шартли ўтиш буйруғи бўйича бажарилмай 7-блок буйруғига ўтилади.
7-блок ҳисоблагичдан бирни айириб ташлайди (В регистри), бундан кейин 8-блок белгилар регистри Тс триггерининг таркиби бўйича тармоқланишни бажаради. Агар 7-блок буйруқларини бажарганда В регистирда 0 қиймати вужудга келади, Тz триггерида 1-блок қиймати белгиланиб, циклдан чиқиш очилади ва навбатдаги буйруқга ўтилади. Агар В регистрининг таркиби нолга тенг бўлмаса, унда Тz триггерида 0 қиймати белгиланади ва шартли ўтишнинг буйруғи 3-блокнинг буйруғига ўтиб, навбатдаги циклнинг қайтарилишига олиб келади.
1.10-жадвалида ОП ячейкаларидаги буйруқларнинг жойлашиши кўрсатилган.
1.11-жадвалида курилаётган кўпайтириш операциясининг дастури келтирилган.
Циклда 3…8-блокларнинг буйруқлари бажарилади. Алгоритм цикллининг бир марталик вужудга келиши учун талаб этиладиган Nt1 тактларнинг миқдорини белгилаб оламиз. Бунда кўпайтувчининг барча разрядлари бирга эга деб фараз қиламиз (тезкорлик нуқтаи назаридан қийин ҳолат).
Nт = 10 + 4 + 10 + 5 = 49та такт
Цикл саккиз марта ўтганда тактларнинг миқдори:
Nт = 8 х Nт1 = 8 х 49 = 392та такт
1.10-жадвал.
ОП адреси |
Буйруқ |
|||||||||
…
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
125A
125B
125C
125D
125E
125F
|
…
Блок 1: HL ← 0
Блок 2: B ← 8
Блок 3: HL ← (HL) + (HL)
Блок 4: A ← ЦЧС (A) сурилишсиз
Блок 5: УсП, 125В ячейкага (Тс)=0 бўлганда
Блок 6: HL ← (HL) + (DE)
Блок 7: B ← B – 1
Блок 8: (Тz)=0 бўлганда 1255 ячейкага |
1.11-жадвал.
ОҲда адрес буйруғи |
Кодли комбинацияда буйруқ |
Байтлар сони |
Тактлар сони |
Изох |
… 1250 1251 1252 |
… 00 100 001 00 000 000 00 000 000 |
…
3 |
…
10 |
… Блок 1: HL ← (B3 B2) (B3) = 0; (B2) = 0 |
1253 1254 |
00 000 110 00 001 000 |
2 |
7 |
Блок 2: В ← (В2) (В2) = 8 |
1255 |
00 101 001 |
1 |
10 |
Блок 3: HL ← (HL)+(HL) |
1256 |
00 000 111 |
1 |
4 |
Блок 4: А ← ЦЧС (А) сурилишсиз |
1257 1258 1259 |
11 010 010 01 011 011 00 010 010 |
3 |
10 |
Блок 5: УсП, (Тс)=0 бўлганда 125В ячейкага; (В3)=12 H; (B2)=5B H |
125A |
00 011 001 |
1 |
10 |
Блок 6: HL ← (HL)+(DE) |
125B |
00 000 101 |
1 |
5 |
Блок 7: В ← (В) – 1 |
125С 125D 125E |
11 000 010 01 010 101 00 010 010 |
3 |
10 |
Блок 8: УсП, (Tz)=0 бўлганда 1255 ячейкага (В3)=12 H; (B2)=55 H |
… |
… |
… |
… |
… |
1.3.2 Ассемблер тилида дастурлаш
Ҳозиргача буйруқларни ёзганда код комбинациялар тилидан микропроцессорлар учун тушунарли ягона тилидан фойдаландик. Бу тилдан фойдаланиш бир неча қийинчиликларни тўғдиради, биринчидан, катта, қийин эслаб қолинадиган икктали код комбинацияларни (ушбу код комбинациялари учун саккиз ёки ўн олти каррали тизимларда ҳисоблаб фойдаланиш дастур ёзишни енгиллаштирмайди) ёзиш зарурати, иккинчидан, код комбинациялари ёрдамида ёзилган дастур қийин ўқиладиган, ёмон куриладиган бўлганлиги сабабли, тузилган дастурда хатоларни топиш қийинчилиги ва учинчидан, тузилган дастурга ўзгаришларни киритиш қийинчилиги.
Ассемблер тилидан фойдаланганда дастурлаш қийинчиликлари камаяди. Бу тилда код комбинациялари ўрнига БИС микропроцессорида бажариладиган операцияларни мнемоник шаклида ёзишдан фойдаланилади. Бундай мнемоник ёзув (тегишли инглиз сўзларидан олинган ҳарф бирикмаларнинг кўриниши) бажарилаётган операция, операнда ва манзилнинг турини кўрсатади. Ассемблер тилидаги ҳар бир буйруғига код комбинациялари тилидаги буйруғи тўғри келади.
Ассемблер тили буйруқлар ёзилишини енгиллаштиради, дастур яхши курилишини таъминлайди, ундаги хатолар топишни енгиллаштиради, ушбу тилда ёзилган дастурга ўзгаришлар содда киритилишини таъминлайди.
Фойдаланишдан олдин дастур Ассемблер тилидан код комбинациялар тилига ўгирилиши ва шундай кўринишда микропроцессор қурилмасининг хотирасига киритилиши керак. Бундай ўтказиш Ассемблер аталадиган трансляция қилиш дастури ёрдамида амалга оширилади. Ассемблер тилидан дастурлаш учун ва трансляция қилиш учун дастур (Ассемблер йўқ бўлганда) йўқ бўлган ҳолларида фойдаланиш мумкин. Бундай ҳолларда трансляция қилиш қўл билан бажарилади (бундай трансляция қилиш қўл ассемблаши дейилади).
Ассемблер тили (код комбинациялар тилига ўхшаб) ҳар бир микропроцессор комплекти учун индивидуалдир, яъни, ҳар бир микропроцессор комплекти бошқа комплектлар Ассемблер тилларидан фарқ қиладиган, ўз Ассемблер тилига эга.
Ассемблер тилидаги дастур таклифларнинг кетма-кетлиги уларнинг ҳар бири алоҳида сатрни эгаллайдиган кўринишида тақдим этилади. 1.12-жадвалда, 1.9-жадвалида код комбинациялари тилидаги дастур бўйича кўрсатилганидек, Ассамблер тилидаги ўша дастурнинг ёзилиши кўрсатилган.
Ассемблер тилининг ҳар бир таклифи тўртта қайид қилиш майдонига эга: белги майдони, код майдони, операнд майдони ва изоҳ майдони.
Белги майдони. Агар таклифга ном берилса, унда у белги майдонида ёзилади ва номидан кейин икки нуқта қўйилади. Ном лотин алифбонинг бевосита танланган ҳарфларнинг ва рақамларнинг кетма-кетлиги кўринишида тузилади, бунда номнинг биринчи символи ҳарф бўлиши керак. 1.2-жадвалда келтирилган дастурда М1 ва М2 номларидан фойдаланилган. Одатда номлар шартли ёки шартсиз ўтиш амалга ошириладиган таклифларга берилади. Бир хил ном белги майдонида бир мартадан кўп учраши мумкин эмас. Бўлмаса, тегишли шартли ва шартсиз ўтишнинг буйруқлари бўйича ўтиш қайси таклифга тегишли эканлиги ноаниқлиги вужудга келади.
1.12-жадвал.
Белги |
Код |
Операнд |
Коментария |
M1: M2: |
MOV RRC JC MOV JMP MOV ADD MOV |
A , B
M1 A , C M2 A , D B B , A |
; Блок 1: А ← (В) ; Блок 2: А ← ЦЎС (А) ; Блок 3: УсП (Тс)=1 бўлганда ; Блок 4: А ← (С) ; Шартсиз ўтиш ; Блок 5: А ← (D) ; Блок 6: А ← (А) + (В) ; Блок 7: В ← (А) |
Код майдони. Бу майдонда микропроцессор буйруқларининг тизимида бериладиган операция кодининг мнемоник белгиланиши ёзилади.
Операнд майдони. Операнд майдонида операцияда иштирок этадиган сонлари (бевосита маълумотлар), операцияда иштирок этадиган маълумотларнинг манбалари ва қабўл қилгичлари тўғрисида кўрсатмалари; ушбу майдонидаги шартли ва шартсиз ўтишларнинг таклифларида ўтиладиган таклифнинг номи (белгиси) берилади. Сон маълумотлари ҳисоблашнинг турли тизимларида берилиши мумкин. Танланган ҳисоблаш тизимнинг сонини кўрсатиш учун ўн олтиталик сондан кейин Н (агар сон А, …F дан бошланса, сондан олдин 0 рақами қўйилади) символи қўйилади ўнталик сондан кейин D (ёки умуман ҳеч қайси символ ёзилмайди) символини қўйиш мумкин; саккизталик сон Qсимволи Билан, иккиталик – В символи билан тугалланади.
Масалан, Е, С, D регистрларига 101101В, 217Q, 37D сонларини ва жуфт HL регистрларига А195Н юклаш талаб этилмоқда. Кўрсатилган амаллар Ассемблер тилида қуйидаги таклифлари билан таърифланади.
Метка |
Код |
Операнд |
Комментария |
|
MVI MVI MVI LXI |
E, 101101B C, 217Q D, 37 H, 0A195H |
; Е регистрни юклаш ; С регистрни юклаш ; D регистрни юклаш ; HL жуфт регистрни юклаш |
Ички МП В, С, D, Е, Н, L, М, А регистрларининг идентификаторлари ўрнига уларнинг манзилларини истаган ҳисоблаш тизимда қўллаш мумкин.
Масалан, юқорида келтирилган амаллар қуйидаги таклифлар кўринишида ёзиш мумкин:
Белги |
Код |
Операция |
Изох. |
|
MVI MVI MVI LXI |
3, 101101B 1, 217Q 10В, 37 100В, 0A195H |
; Е регистрни юклаш ; С регистрни юклаш ; D регистрни юклаш ; HL жуфт регистрни юклаш |
Е (011В) ва С (001В) регистрлар манзилларининг ушбу биринчи ва иккинчи таклифлари ўнталик ҳисоблаш тизимда; D ва Н регистрларининг манзиллари операнд майдонида учинчи ва тўртинчи таклифлари иккиталик ҳисоблаш тизимда тақдим этилган.
Операндлар сифатида РС идентификатор команларининг ҳисоблагичи ва аккумуляторнинг икки байтли таркиби белгилар регистри – PSW идентификатори Билан бирга кўрсатилиши мумкин. Операнд майдонидаги киритиш (IN) ва чиқариш (OUT) буйруқларида маълумотларни процессор билан алмашувчи қурилманинг рақами кўрсатилади.
Операнд майдонида юқорида куриб ўтилган маълумотларни арифметик операцияларнинг символлари: + (қўшиш), - (айириш), / (бўлиш алохида соннинг тўлиқ қисмини ажратилиши билан), MOD ( бўлишдан тўлиқ қолдиқ) билан ва мантиқий операцияларнинг символлари NOT (барча разрядларни инвертлаштириш), AND (кичик разрядли конъюкция), OR (кичик разрядли дизъюкция), XOR (кичик разрядли 2-модуль бўйича суммалаш), SHR ва SHL (биринчи операнднинг иккинчи операнд аҳамияти билан белгиланадиган разрядлар сонига чап ёки ўнгга силжиши; силжишда бўшатиладиган разрядлар ноллар билан тўлдирилади) билан боғлаб тузилган ифодаларидан фойдаланиш мумкин.
Бироқ ифодаларнинг ишлатилишида Ассамблер тилидаги дастурнинг кўриниши, ўқилишининг соддалиги юқолади. Шунинг учун Ассемблер тилидаги дастурларда ифодалар кам қўлланилади.
Изоҳ майдони. ; (нуқтали вергул) символидан бошланади. У дастурнинг ўқилишини таъминлайдиган, бажариладиган амаллар моҳиятининг турли изоҳларини ёзиш учун хизмат қилади. Изоҳга тўлиқ сатрларни, уларнинг ; символидан бошлаб ажратиш мумкин. Изоҳга келтирилган ёзув фақат дастурчи учун керак, трансляция қилишда Ассемблер уни инобатга олинмайди.
Ассемблер тилида дастурлашга доир мисоллар
1.13-жадвалида 1.11-жадвалидаги код комбинацияларида келтирилган дастурларни Ассемблер тилига ўгирувчи кўпайтириш дастури кўрсатилган.
1.13-жадвал.
Белги |
Код |
Операнд |
Комментария |
LOOP2:
LOOP1: |
LXI MVI DAD RAL JNC DAD DCR JNZ |
H,0 B,8 H
LOOP1 D B LOOP2 |
; Блок 1: Ноллаштириш HL ← 0 ; Блок 2: Счётчиқни тайёрлаш ; Блок 3: Чапга суриш Н ; Блок 4: Чапга суриш А ; Блок 5: Шартли ўтиш ; Блок 6: Суммалаштириш ; Блок 7: Счёт ; Блок 8: Шартли ўтиш |
Кўп байтли сонларнинг қўшилиши. Ҳар бири ОП тўрт ячейкани эгаллаган икки тўртбайтли сонни кетма-кет ўсувчи манзиллари билан қўшиш талаб этилсин деб фараз қиламиз; биринчи ва иккинчи сонлар кичик байтларининг манзиллари жуфт ВС ва HL регистрларида сақланади. Қўшиш натижаси хотирага иккинчи қўшилувчининг ўрнига жойлаштириш зарур.
Бундай кўп байтли сонларнинг суммалаш тамойилида МПдаги аввал қўшилувчиларнинг кичик байтлари чақирилади. Байтлар қўшилиб натижалари хотирага иккинчи қўшилувчининг ўрнига жойлаштирилади; суммалаштириш натижасида вужудга келадиган катта разряднинг кўчириш белгиси белгилар регистрининг ТС триггерида сақлаб қўйилади. Кейин жуфт ВС ва HL регистрларида қўшилувчиларнинг иккинчи байтларнинг манзиллари шаклланади, кейин улар МПда чақирилади ва байтларнинг қўшилишида вужудга келган кўчириш белгиси билан Тс триггерида сақланадиганлари Билан суммалаштирилади ва ҳ. Операциянинг бажарилиши кўрсатилган амалларнинг тўрт каррали қайтарилишдан кейин тугатилади. 1.13-расмда алгоритм схемаси ва 1.14-жадвалда Ассемблер тилидаги дастури келтирилган.
1.13-расм. Кўпбайтли қўшилишни алгоритм схемаси.
1.14-жадвал.
Белги |
Код |
Операнд |
Комментария |
CYCLE:
K1: |
ANA MVI LDAX ADC MOV DCR JZ INX INX JMP … |
A D,4 B M M,A D K1 B H CYCLE … |
; Тс ← 0 жойлаштириш ; Счётчиқни тайёрлаш ; Блок 3 ; Блок 4 ; Блок 5 ; Блок 6 ; Блок 7 ; Блок 8 ; Блок 9 ; Шартсиз ўтиш … |
Бўлиш дастури. Сонларни алгебраик бўлиш операцияси алохида сон белгисининг ва амалнинг белгиланиши билан боғлиқ, алохида сон модулининг ва мусбат қолдиқнинг белгиланиши билан боғлиқ. Алохида соннинг белгиси белги разрядларининг таркибидаги сонларини ажратиб, кейин уларни 2-модуль бўйича суммалаб алохида соннинг модули топилгандан кейин алохида соннинг белги разрядига киритилиши билан аниқланиши мумкин. Қуйида алохида соннинг модулини топиш билан боғлиқ бўлган бўлиш алгоритмининг қийин қисмини куриб чиқамиз.
Бўлинувчи ва бўлувчи – тўлиқ мусбат сонлар деб фараз қиламиз; бўлинувчи 2n разрядга, бўлувчи n разрядга эга, улардан катта разрядлари – белгили ва 0 ни ўз ичига олади.
Бўлиш алгоритмини қолдиғини тиклаш методи билан куриб чиқамиз. Бўлиш алгоритми тасвирланган мисол сифатида 37ни 7га бўлишни оламиз. Бунда алохида сон ва 2 қолдиқ ҳосил бўлиши керак. Бўлинувчини 8-разрядли иккиталик 00100101В сони билан, бўлувчини эса 4-разрядли иккиталик 0111В сони билан тақдим этамиз.
Бўлиш жараёни куидаги циклик қайтарилувчан амалларнинг кетма-кетлигига олиб келади. Циклнинг биринчи қайтарилишида бўлинувчи, циклнинг навбатдаги қайтарилишларда эса – қолдиқни битта разрядга чапга силжилади ва сўнг ундан бўлувчи айириб ташланади; агар олинган янги қолдиқ – мусбат сон бўлса, унда алохида соннинг навбатдаги разрядига (каттасидан бошлаб) 1 ёзилади; агар янги қолдиқ – мусбат сон бўлса, унда алохида соннинг разрядига 0 киритилади, қолдиғига эса бўлинувчи қўшилади ва шундай қилиб олдин силжиган қолдиқ тикланади. Бу амаллар цикл жиҳатидан n марта қайтарилади (n бўлувчи разрядларининг сони). Натижада алохида сон шаклланади, қолдиғи эса бўлиш операциясининг нтижа қолдиғи ҳисобланади.
Бўлиш операциясини бажарувчи дастурни тузиш учун МПда n= 8 қабўл қиламиз. Бунда бўлинувчи 2n = 16 (2 байтли) разрядларга эга бўлади ва сақланиши учун жуфт регистрни талаб этади. Бўлувчини сақлаш учун жуфт ВС регистридан фойдаланамиз. Жуфт ВС регистрнинг таркиби чапга силжиганда бўшаётган ўнг разрядга алохида соннинг навбатдаги разрядининг қийматини киритамиз. Шундай қилиб операция тугатилганда с регистрида алохида сон вужудга келади. Бўлинувчининг айириш (ёки қўшиш) амаллари қолдиқнинг ката саккиз разрядлари устида иш олиб борилиши керак бўлганда унда бу операциялар В регистрнинг таркиби бўйича иш олиб борилади, бўлиш операция тугагандан кейин унинг таркиби операциянинг натижавий қолдиғи ҳисобланади. Бир байтли бўлувчини сақлаш учун D регистиридан фойдаланилади. Олдиндан 8 сони билан юкланадиган Е регистрида цикл қайтарилиш сони ҳисоблагичини куриб чиқамиз.
1.14 расмда алгоритмнинг схемаси кўрсатилган. Унинг айрим хусусиятларини тушунтириб берамиз. 2-блок белгилари регистри Тс триггерининг таркибидаги 0га туширишини амалга ошириб истаган АЛУ мантиқий операцияси бажарилишини таъминлайди. Жуфт ВС регистрининг таркибини чапга силжишини бажариш учун 3- … 8-блокларидан фойдаланилган. Олдин С регистирининг таркиби А аккумуляторига узатилади, у ерда у силжиб, С регистирига қайтиб келади. Силжишда кичик разрядга Тс триггеридан ичида шаклланган, Тс триггерига катта разряднинг чиқарадиган таркиби, навбатдаги алоҳида сон разрядининг қиймати қабўл қилинади, ундан кейин у В регистирининг таркиби силжиганда кичик разрядга қабўл қилинади.
Кейин шунга ўхшаш амаллар В регистирида бажарилади. 9-блокда айиришни бажаришда мусбат қолдиқ чиққанда катта разряддан 1 ўтиш пайдо бўлиб, Тс триггерида қайид қилинади, агар мусбат қолдиқ чиққанда бу ўтиш 0 га тенг бўлади. Шундай қилиб алохида сонинг навбатдаги разряднинг қиймати Тс триггерининг таркиби инвертацияланиши натижасида ҳосил бўлиши мумкин, буни 10-блок бажаради. 11, 12-блоклари мусбат қолдиқни тиклаши билан боғлиқ амалларни бажаришади. 13-блок цикл қайтариш сонларининг ҳисобини ташқил этади. Циклдан чиққандан кейин 15 … 18-блокларда бўлиш операциясининг натижа қолдиғи В регистирига узатилади ва С регистирнинг таркиби ҳамда алоҳида сон разрядининг Тс триггерида шаклланган сўнгги ёзуви билан силжиши амалга оширилади.
1.15-жадвалда Ассемблер тилидаа ёзилган дасиур кўрсатилган, бу қуйидаги бўлиш операцияси алгоритм схемасига мувофиқ.
11
1 0
1
2 12
13
3
14
4 0
1
5
15
6 16
7 17
8 18
9
10
1.14-расм. Бўлиш алгоритм схемаси.
1.15-жадвал.
Белги |
Код |
Операнд |
Комментария |
M2:
M1: |
MVI ANA MOV RAL MOV MOV RAL MOV SUB CMC JC ADD DCR JNZ MOV MOV RAL MOV |
E,B A A,C
C,A A,B
B,A D
M1 D E M2 B,A A,C
C,A |
; Блок 1 ; Блок 2 ; Блок 3 ; Блок 4 ; Блок 5 ; Блок 6 ; Блок 7 ; Блок 8 ; Блок 9 ; Блок 10 ; Блок 11 ; Блок 12 ; Блок 13 ; Блок 14 ; Блок 15 ; Блок 16 ; Блок 17 ; Блок 18 |
Қисм дастур
МПК К580да қурилган ЭҲМ хотираси, 65536та ва ундан ортиқ бирбайтли ячейкага эга бўлиши мумкин. Шуни ҳисобга олиш керакка, дастурларни яратишда хотирани хажми чегараланган бўлганлиги учун, дастурларни иложи борича қисқароқ тузиш керак. Шундай экан, айрим қайтариладиган дастурлар ёки кўп ишлатиладиган дастурлар, дастурости кўринишида тузилади, яъни кетма-кет буйруқларни бажарилиши дастурни ҳар хил жойидан чақирилиши ва қайтарилиши мумкин. Қисм дастур бошқаришни узатиш, “қисм дастурни чақириш” дейилади. “Чиқиш параметри” деб- қисм дастур ишлашига керак бўлган маълумотлар ва адреслар, шу қисм дастур ишини тугашида асосий дастурга узатиши айтилади.
Қисм дастурни чақиришга ва ундан кетиш учун қуйидаги буйруқлар ишлатилади: CALL <A2><A1> ва RET.
МП счетчиқ дастурида жойлашган <A2><A1> байтларга CALL <A2><A1> буйруғи загрузка қилинади ва қаерда CALL (CD) код буйруғи йзилган холатидан олдин жойлашган иккита адрес хотирасига ёзилади. Кичик регистр РСL дастур счетчигига <A2> байтда жойлашгани ёзилади, катта регистр РСН дастур счетчигига эса 3 байт <A1> буйруғи ёзилади. Бошланишдан олдин, дастур счетчигидан адрес кўчириб олинади ва стекга узатилади.
Қайтариш буйруғи қисм дастурдаги RETни охирига жойлаштирилади.
RET қисм дастурдаги қайтариш дастури уни охирига жойлаштирилади, стекга охирги ёзилганни кўчириб олади ва уни дастур счетчигига жойлаштирилади.
1.15-расмда оддий дастуростидаги вақт давомида кечиқиб келиш алгоритми кўрсатилган.
Умумий кечиқиб келишлар қуйидаги формуладан аниқланади:
Тd = t1+(t2+t3+t4)N1+t5,
қаерда N1-счетчиқга биринчи ёзилган цикл сони.
Счетчиқ сифатида регистр В олинган. Регистр С дан регистр В га N ёзилади.
t1…t5-MOV, NOP, DCR, JNZ ва RET буйруқларни бажарилиш вақти.
1.15-расм. Вақт мобайнида кечиқиб келишлар алгоритми.
1.16-жадвалда, қисм дастурдаги вақт мобайнида кечиқиб келишлар кўрсатилган.
1.16-жадвал.
Адрес |
Машина коди |
Белги |
Мнемокод |
Комментария |
0900
0901
0902
0903
0906
|
41
00
05
С2 01 09
С9
|
DLY |
MOV B,C
NOP
DCR B
JNZ DLY
RET |
В регистрга С регистрдан сонни ёзиш Операция йўқ
В регистрдаги В сонни 1га камайтириш Агар В регистрда ёзилган сон 0га тенг бўлмаса, у холда DLY га бориш. |
NOP буйруғи циклни ишлаш вақтини ошириш учун керак ва шу билан бирга умумий кечиқиб келишлар ҳам киради. NOP буйруғи ўрнига бошқакетма-кет буйруқлар ёзилиши мумкин, уни бажарилиши МПни регитрида жойлашганлари ўзгармайди. Регистр В да N сонини ёзиш вақтида ва қисм дастур t1+t5 га қайтиш ҳисобга олинган ва циклга кирмайди. Келтирилган дастурлар остида минимал кечиқиб келишлар N1=01 да аниқланади ва қуйидагига тенг:
Tdmin = t1+t2+t3+t4+t5.
Максимал кечиқиб келиш N1=FFда ўринли ва қуйидаги формула ёрдамида аниқланади:
Tdmax=t1+(t2+t3+t4) • 256+t5.
Маълумотларни киритиш-чиқариш
МП БИС (КИС) КР580ИК80 ни киритиш-чиқариш буйруқларига IN<A1> ва OUT<A1> буйруқлари киради. IN<A1> буйруғи бажарилаётган пайтда, МП (А1) адресни кириш қурилмасидан сонларни санаб олади ва уни аккумуляторга ёзади. OUT<A1> буйруғи бажарилаётганда, МП аккумулятордан сонни ёзиб (А1) адресли чиқиш қурилмасига ёзади.қурилма адреси 1 байтда кўрсатилади ва шу микроЭҲМ буйруқлари ёрдамида 256 тадан кўп бўлмаган ташқи қурилмалар билан маълумот алмашиши мумкин.
Содда кириш-чиқиш қурилмалар ўрнида, 8 разрядли регистрлар ишлатилиши мумкин (мисол учун, кўпрежимли буферли регистр(КБР) К581ИР12).
Кириш – чиқиш қурилмалари ўрнида, мураккаброқ схемалар ҳам қўлланилиши мумкин, мисол учун, дастурлаштирилган киритиш-чиқариш маълумот қурилмалари параллел кодда ишлатилади (КР580ВВ55).
Маълумотларни чиқариш қурилмаси сифатида қулай қабўл қилиш учун, кўпинча дисплей ишлатилади. Олтита ячейкадан иборат бўлган дисплейни уланиши (еттисигментли индикатор), битта корпусда умумий анодга уланган саккизта светодиоддан иборат. Ҳар бир индикатор (1.16,а-расм) сементдаги сонларни кўрсатиш учун, еттита светодиод ишлатади, саккизинчи светодиод эса нуқтани кўрсатиш учун ишлатилади (1.16,б-расм).
a
а b
c
f b
d
g
e
e c f
d g
.h
h
a) б)
1.16-расм. Ташқи кўриниши (а) ва еттита сементли светодиод матрицаси (б).
1.17-расмда кўрсатилганидек дисплей ячейкасини номерлаб чиқамиз.
1.17-расм. Дисплей ячейкасини номерлаш.
МикроЭҲМга дисплейни улаганда схемотехникасини камайтириш мақсадида, кўпинча индекаторларни мультиплексли ишлаш режими қўлланилади. Шунинг учун ҳам дисплейга маълумотни чиқариш учун БИС КР580ВВ55 қўлланилади. БИС КР580ВВ55 ни учта саккизразрядли канали 0 режимда ишлайди. Дисплей ишини бошқаришда маълумотни чиқариш учун А ва В каналлар настройка қилинади, С канали эса клавиатурани улаганда маълумотни қабўл қилиш учун.
К580 киритиш-чиқариш буйруғига IN<B2> ва OUT<B2> буйруқлари киради. IN<B2> буйруғи бажарилаётганда МП кириш қурилмасидан сонни адреси билан санаб олади, бу адрес В2 буйруқни 2- байтида кўрсатилади ва уни аккумуляторига ёзади. OUT<B2> буйруғи бажарилаётганда МП чиқиш қурилмаси ва адресга аккумулятордаги сонни ёзади у В2 буйруғини 2чи байтида кўрсатилади. Адрес қурилмаси бир байтдан кўрсатилар экан, шу буйруқлар ёрдамида, МП 256 тадан ортиқ бўлмаган ташқи қурилмалар билан маълумот алмашиши мумкин.
КР580ВА86 ва КР580ВА87 шинали ташқил этгичлар
3.34-расмда КР580ВА86 мантиқий ўзгартиргич схемаси 8 разрядли маълумотларни узатишни ташқил этилиши кўрсатилган. Бу расмда схема фақат битта разряди аниқ кўрсатилган, схемалардаги қолган разрядлар шунга ўхшаш. Учт холатга эга бўлган иккита қайтаргичлар (повторители) узатиш занжирига уланганлар. Агар бир вақтни ичида битта қайтаргич ёқилган холатда бўлса, иккинчи қайтаргич эса ўчирилган холатда бўлади. Шундай қилиб, агар биринчи қайтаргич ёқилган бўлса, иккинчи қайтаргич эса ўчирилган холатда бўлади ва узатиш эса 1 қайтаргич орқали 1 чиқишдан 19 чиқишга (Ао дан Во га) томон амалга оширилади. Агарда тескари холатга ўзгартирилса, 2 қайтаргични ёқилган холатга ўзгартирилса 1 қайтаргич ўчирилган холатга ўзгаради ва узатиш эса 2 қайтаргич орқали 19 чиқишдан 1 чиқишга (Во дан Ао га) томон ўтади, яъни тескари холат томон.
|
|
Қайтаргичлар холатини ИЛИ-НЕ 1 ва 2 элементлар орқали ВК ва Т бошқарув сигналлари ёрдамида бошқарилади. Агар ВК киришида юқори даража лог.1 ўрнатилган бўлса, у холда Т сигнал қийматидан қатъий назар ИЛИ-НЕ чиқиш элементларига лог.0 паст даража ва иккита қайтаргични ҳамма разрядларида ўчиқ холатда ўрнатилган бўлади ва ахборотни хеч бир томонга (тўғрига ва ортга) узатилиши амалга оширилмайди. А дан В томон йўналишида 8 разрядли маълумотлар ВК=0 ва T=1 комбинацияда узатиш содир бўлади. ВК=0 ва T=1 комбинациясида эса аксинча, яъни 8 разрядли маълумотлар В томондан А томонга узатиш содир бўлади. Шундай қилиб 3.20-жадвалга асосан шинали тахлил этгич 8 разрядли маълумотларни икки томонлама бошқаришни ташкил этади.
3.20-жадвал.
Бошқариладиган сигналларни қиймати |
Ахборотни узатиш йўналиши |
|
ВК |
Т |
|
0 0 1 |
0 1 Х |
В томондан А томонга А томондан В томонга Узатиш мавжуд эмас |
В даги чиқишлар (А дан В га томон узатганда) А га
нисбатан ( қачонки В дан А га томон узатилганда) катта экланишга эга. Шинали тахлил этгич, микропроцессорни оёқчаларига А томондан уланади, В томондан эса маълумотлар ва адреслар тизим шинасига уланади.
3.35-расмда КР580ВА87 шинали тахлил этгични схемаси келтирилган. КР580ВА86 дан фарқи шундаки, қайтаргич (повторител) разрядларига уланишлар инвертори (айлантиргич) чиқишлардан ташқил топади ва маълумотларни узатиш пайтида айланти
ришлар (инвертирование) содир бўлади. Шу микросхемани қолган ишлари, юқорида келтирилган микропроцессор КП580ВА86 ни ишлашига ўхшашдир.
Буфер шина адреси. Шина адреси 16та разрядларга эга ва шинали тахлил этгич 8 разрядли канални ташқил этар экан, буферни қуришда иккита микросхема керак бўлади. Уларни уланиши 3.36-расмда кўрсатилган.
Шина адреси бир томонлама йўналтирилган, шинали тахлил этгичларда кириш канали сифатида А канали олинган, чиқиш канали сифатида эса В канали олинган. Шинали тахлил этгичда ахборотни узатиш А дан В га томон Т чиқишни лог.1 даража кучланишида бажарилади, шунинг учун ҳам шинали тахлил этгични Т микросхемасини чиқишлари +5В кучланиш манбасига уланади. ВК микросхема оёқчаларига МПдан чиқаётган “Подтверждение захвата” сигнали узатилади. Шинали тахлил этгич орқали МП чиқишидан адресни узатиши “Подтверждение захвата” сигнали паст сатхда амалга оширилади. Қўлга олиш (захват) режимида МП “Подтверждение захвата” юқори даражали сигнални узатади, бу сигнал билан шинали тахлил этгич чиқишлари юқори омли холатга ўтадилар ва МП шина адресидан узилади. “Подтверждение захвата” чиқишида юклама ҳаракатини ошириш учун 1/4 К155ЛИ1 элементи қўлланилади.
Буфер маълумотлар шинаси. Маълумотлар шинаси 8 разрядли иккитомонлама ахборот ухатиш имконига эга. Буферни қуришда битта шинали тахлил этгич микросхемаси етарли ва у бошқариладиган иккитомонлама ахборотларни узатиш схемаси бўйича уланади. 3.37-расмда шинали тахлил этгични схемада уланиши кўрсатилган.
Микропроцессорда хосил бўлаётган “Қабўл қилиш” (Прием) сигнали ёрдамида узатиш йўналишини бошқариш амалга оширилади. Маълумотлар шинасидан микропроцессорга “Қабўл қилиш” сигналини юқори даражасида узатилади, паст даражада эса тескари йўналишда. Қурилмаларни қабўл-қилиш ва маълумотлар шинаси ўртасида, буфер функцияларини шинали тахлил этгич бажариши мумкин.
2. Курс ишига топшириқ ва шу ишни бажаришГа методик кўрсатмалар
2.1. Курс ишини бажаришга топшириқ ва вариантлар
Бу курс ишида К155 серияли ТТЛ микросхемаларини тестлаш тизимини лойиҳасини тузиш керак. Бўлар микросхемани ички бузилишларини автоматик равишда топиши керак.
Хақиқийлик жадвали (таблица истинности) га асосан, микропроцессорни, кириш сигналларини яратади ва уларни кўрилаётган микросхемани киришига узатади, шундан сўнг кириш сигналлари саналади ва жадвал билан таққосланади. Текширилган натижалар, индикаторда кўрсатилади.
1. Топшириққа асосан ҳотира қурилмаси (ЗУ) схемасини тузиш керак.
2. Берилган микросхемани процессорга улаш схемасини лойиҳасини тузиш керак (вариант бўйича). 2-иловада 155 серияли ТТЛ микросхемани шартли график кўриниши келтирилган.
3. Берилган микросхемадаги мантиқий қурилмасини хақиқийлик жадвалини қуриш.
4. Микропроцессор қурилмасини ишлаш дастури ва блок схемасини қуриш.
5. Оператив хотирага (оперативная память) дастурни киритиш ва ячейкани тахминий BEG адресидан бошлашни бажариш керак. Клавиатурани сўров (опрос) қисм дастурсини оператив хотирага жойлаштириш ва уни адресдаги “ОК” тахминий номидан бошлаш керак. Микросхемада ишлайдиган ва ишламайдиган символларни кўрсатиш қисм дастурсини оператив хотирага жойлаштириш ва уларни ячейкадаги “ВРМ” ва “ВНМ” тахминий номидан бошлаш керак.
2.1, 2.3, 2.4, 2.5-жадвалларда вариант бўйича индивидуал топшириқлар кўрсатилган.
Курс ишига тавсия этиладиган мавзулар.
1. Йўл ҳаракати тезлигини, ёқилғи сарф-ҳаражатини автоматик равишда аниқлаш ва уни кузатиш.
2. Товуш синтезатори сифатида микропроцессор қурилмасини ишлатиш. 8та клавиатурадан бири босилганда синтезатор бирон-бир товушни, маълум бир частотада чиқариши керак.
3. Рақамли вольтметр.
4. Электрон соат-будильник.
5. Автомобил таксометрида микропроцессорни қўллаш.
6. Синусоидал тўлқинлар генератори ва уларни дастурланадиган частота ўзгариши.
7. Морзе кодини генератори.
8. Эшикдан киришни автоматик назорат қилиш.
9.Лифт ҳаракатини ўзгартириш тизими.
10. Универсал рақамли частотометр.
11. Таймер – электрон вақт релеси.
12. Мусиқа қуролларини созлайдиган генератор.
13. 1 Кбайт сиғимли ОЗУ модулларини серияли ишлаб чиқиш шароитида, МП қурилмасини қуришда уларни текшириш.
14. Тармоқдаги кучланиш параметрларини автоматик назорат қилиш қурилмаси.
15. К155 серияли МСни ишлашини текшириш учун мантиқий анализатори.
Хотира қурилмасини (ХК) ташқил этишда вариант бўйича индивидуал топшириқлар.
2.1-жадвал.
Вариант № |
Эслаб қолиш қурилмасини сиғими |
Микросхема тури |
МС ячейкасини ташқил этиш (бит) |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
512 х 8 4096 х 8 2048 х 8 4096 х 8 16384 х 8 32768 х 8 16384 х 8 8192 х 8 32768 х 8 4096 х 8 128 х 8 32768 х 8 4096 х 8 8192 х 8 32768 х 8 65536 х 8 2048 х 8 32768 х 8 4096 х 8 8192 х 8 |
К155РУ2 К155РУ5 К500РУ415 К541РУ2А КР537РУ3А КР132РУ6А КР537РУ10 К537РУ4А КР537РУ17 К537РУ8А К500РУ145 К53714А КР541РУ2А КР537РУ8А КМ132РУ5А К565РУ5В К537РУ13А КМ132РУ5А КР132РУ3А КР132РУ8А |
64 х 4 256 х 1 1024 х 1 1024 х 4 4096 х 1 16384 х 1 2048 х 8 4096 х 4 8192 х 8 2048 х 8 16 х 4 4096 х 8 1024 х 4 2048 х 8 4096 х 1 65536 х 1 1024 х 4 4096 х 1 1024 х 1 1024 х 4 |
Вариант бўйича индивидуал топшириқда, текширилаётган микросхема турлари берилган.
2.3-жадвал.
Вариант № |
МС |
Вариант № |
МС |
0 1 2 3 4 5 6 7 8 9 |
К155ИД4 К155ЛЕ1 К155ИД1 К155ИД3 К155ЛИ4 К155ЛА1 К155ЛА3 К155ЛА4 К155ЛР1 К155ЛИ1 |
10 11 12 13 14 15 16 17 18 |
К155ЛР3 К155ТМ5 К155ЛР5 К155КП1 К155КП2 К155КП5 К155КП7 К155ЛЕ4 К155ЛЕ5 |
МС ишини аниқлаш учун символлврни кўрсатиш ва дастурни ёқиш учун клавиатурани аниқлашда вариант бўйича индивидуал топшириқ.
2.4-жадва.
Вариант № |
Клавиша |
Вариант № |
Ишлайдиган МС |
Ишламайдиган МС |
0 1 2 3 4 5 6 7 8 9 |
1 2 3 4 5 6 7 8 9 F |
0 1 2 3 4 5 6 7 8 9 |
РАБ DA 1 РБ НН С7 АВ ЕВ LF 9H |
HP HE 0 НРБ 00 14 SS 0A 37 bLF |
Хотирага дастурни ва қисм дастурни жойлаштиришда вариант бўйича индивидуал топшириқ.
2.5-жадвал.
Вариант № |
BEG |
OK |
BPM |
BHM |
0 1 2 3 4 5 6 7 8 9 |
0800 0325 0850 0875 08A0 08C5 08F0 0900 0925 0950 |
0900 0940 0980 09C0 0A00 0A2A 0A45 0A77 0ABB 0AE6 |
0920 0960 09A0 09E0 0A15 0A3F 0A5B 0A8C 0ACC 0A20 |
0940 0980 09C0 0A00 0A2A 0A45 0A6F 0AA5 0AE5 0815 |
1 – Илова
КР580ВМ80А микропроцессорни буйруқ тизими.
Асосий белгиланишлар.
1.1-жадвал.
№ |
Мнемоник белгиланиши |
Буйруқ Формати (байт) |
Буйруқ кодини тузилиши |
Буйруқни изохлаш |
|
Кодларни узатиш буйруғи |
|||||
1.
2.
3.
4.
5.
6.
7.
8.
9.
10. |
MOV r1,r2
MOV r,M
MOV M,r
MVI r,сон
MVI М,число
LXI rp,число
LDA адрес
STA адрес
LDAX rp
STAX rp |
1
1
1
2
2
3
3
3
1
1 |
01DDDSSS
01DDD110
01110DDD
00DDD110
00110110
0rp0001
00111010
00110010
0rp1010
00rp0010 |
r2 регистрдагини r1 га юбориш r1<-(r2).
r<-(M). D майдони билан берилган В регистр, хотирада жойлашганни узатади, уларни адреслари эса жуфт HL регистрда кўрсатилган.
M<-(r). D майдони билан берилган r регистрни таркиби хотирага юборилади, уни адреси жуфт HL регистрда кўрсатилган.
r<-(B1). D майдони билан кўрсатилган регистрга буйруқни 2-байти ёзилади.
M<-(B1). Жуфт HL регистр билан кўрсатилган ячейка хотирасига буйруқни 2-байти ёзилади.
rl<-(B1), rh<-(B2). Втрой байт команды пересылается в младший rl регистр пары rp, третий байт в старший регистр rh пары rp.
A<-[(B2)(B1)]. B2,B1 билан кўрсатилган адрес ячейкаси таркибини [(B2)(B1)]<-(A) регистрга юкланади.
В2 ва В1 кўрсатилган эслаб қолиш қурилмаси ячейкасига, А таркиби юборилади .
А<-[(rp)]. Кўрсатилган жуфт rp регистрни, эслаб қолиш қурилмаси ячейкага А дагиси юкланади.
[(rp)]<-(A). Жуфт rp регистрга эслаб қолиш қурилмаси адреси бўйича А да жойлашгани эслаб қолинади. |
|
Арифметик амалларни буйруғи |
|||||
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22. |
ADD r
ADD M
ADI сон
ADC r
ADC M
ACI сон
SUB r
SUB M
SUI сон
SBB r
SBB M
SBI сон
|
1
1
2
1
1
2
1
1
2
1
1
2 |
10000SSS
10000110
11000110
10001SSS
10001110
11001110
10010SSS
10010110
11010110
10011SSS
10011110
11011110 |
A<-(A)+(r). Маълум бир регистр таркиби билан Ани таркиби қўшилади ва ундан чиққан жавоб Ага ёзилади..
A<-(A)+(M). Жуфт HL регистрда 2-адрес операнди кўрсатилган.
A<-(A)+сон. Аккумулятор таркибини сон билан қўшиш.
A<-(A)+(r)+(Tc). Маълум бир регистр таркиби ва олиб қўйилиш, Ани таркиби билан қўшилади, чиқган жавоб Ага ёзилади.
A<-(A)+(M)+(Tc). Хотира ячейкаси ва олиб қўйилиш, А ни таркиби билан қўшилади, чиқган жавоб Ага ёзилади.
A<-(A)+(число)+(Tc). Ани таркиби сон ва олиб қўйилиш билан қўшилади, чиқган жавоб Ага ёзилади.
A<-(A)-(r). Аккумулятор таркибидан, r регистр таркибини олиб ўқиш.
A<-(A)-(M). Кўрсатилган жуфт HL регистрни, ахборот ячейкасида жойлашганни, аккумудятор таркибидан ўқиш
A<-(A)-сон. Аккумулятор таркибидан сонни ўқиш. A<-(A)-(r)-(Tc). Қарз олиш билан айириш.
A<-(A)-(r)-(Tc). Аккумулятордан регистр таркибини ўқиш, қарз олиш билан.
A<-(A)-(М)-(Tc). Аккумулятордан хотира ячейкасида жойлашганни ўқиш, қарз олиш билан.
A<-(A)-(сон)-(Tc). Аккумулятордан сонни ўқиш, қарз олиш билан. |
|
Мусбат-манфий ўзгартириш |
|||||
23
24
25
26
27
28
29
30
|
INR r
INR M
DCR r
DCR M
INX rp
DCX rp
DAD rp
DAA
|
1
1
1
1
1
1
1
1 |
00DDD100
00110100
00DDD101
00110101
00RP0011
00RP1011
00RP1001
00100111 |
r<-(r)+1. Регистр таркибини 1га ошириш.
M<-(M)+1. Хотира ячейкаси таркибини 1га ошириш.
r<-(r)-1. Регистр таркибини 1га окамайтириш.
M<-(M)-1. Хотира ячейкаси таркибини 1га камайтириш.
rp<-(rp)+1. Жуфт регистр таркибини 1га ошириш.
rp<-(rp)-1.Жуфт регистр таркибини 1га камайтириш ((H)(L))<-(H)(L)+(rh)(rl).
Икки жуфт регистр таркибини қўшиш.
Аккумуляторда жойлашганни 10лик коррекциясини бажариш. |
|
Мантиқий амал буйруқлари |
|||||
31.
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 |
ANA r
ANA M
ANI сон
XRA r
XRA M
XRI сон
ORA r
ORA M
ORI сон
CMP r
CMP M
CPI сон
RLC
RRC
RAL
RAR
CMA |
1
1
2
1
1
2
1
1
2
1
1
2
1
1
1
1
1 |
10100SSS
10100110
11100110
10101SSS
10101110
11101110
10110SSS
10110110
11110110
10111SSS
10111110
11111110
00000111
00001111
00010111
00011111
00101111 |
A<-(A) (r). R регистр билан мантиқий кўпайтириш. A<-(A) (M). Хотира билан мантиқий кўпайтириш.
A<-(A) (сон). Сон билан мантиқий кўпайтириш
A<-(A)Å(r). Модул 2 билан қўшиш (ҳисобга олинмайдиган ЁКИ) r регистр билан.
A<-(A)Å(M). Ҳисобга олинмайдиган ЁКИ хотира ячейкаси билан.
A<-(A)Å(сон). Ҳисобга олинмайдиган ЁКИ сон билан.
A<-(A)(r). r регистр билан мантиқий қўшиш.
A<-(A) (M). Хотира билан мантиқий қўшиш.
A<-(A) (сон). Сон билан мантиқий қўшиш.
(A)<>(r). Аккумулятор таркибини регистр таркиби билан солиштириш.
(A)<>(M). ). Аккумулятор таркибини хотира билан солиштириш.
(A)<>(сон). Сон билан солиштириш.
Циклик чапга суриш.
Циклик ўнга суриш..
Чапга суриш.
Ўнга суриш.
A<-НЕ (A). Аккумулятор таркибини инверсиялаш. |
|
Ўтишлар буйруқлари
|
|||||
48
49
50
51
52
53
54
55
56
57
58 |
JMP адрес
JC адрес
JNC адрес
JZ адрес
JNZ адрес
JP адрес
JM адрес
JPE адрес
JPO адрес
CALL адрес
RET |
3
3
3
3
3
3
3
3
3
3
1 |
11000011
11011010
11010010
11001010
11000010
11110010
11111010
11101010
11100010
11001101
11001001 |
Шартсиз ўтиш PC<-(B3)(B2)
(Tc=1) агар тўлиб кетган бўлса, у холда PC<-(B3)(B2), аксинча PC<-PC+3.
Тўлиб кетишсиз ўтиш (Tc=0) PC<-(B3)(B2), аксинча PC<-PC+3.
Нолли жавоб бўйича ўтиш (Tz=1) PC<-(B3)(B2), аксинча PC<-PC+3.
Нолли жавоб бўйича ўтиш (Tz=0) PC<-(B3)(B2), аксинча PC<-PC+3.
Мусбат жавоб бўйича ўтиш (Ts=0) PC<-(B3)(B2), аксинча PC<-PC+3.
Манфий жавоб бўйича ўтиш (Ts=1) PC<-(B3)(B2), аксинча PC<-PC+3.
Жуфт жавоб бўйича ўтиш (Tp=1) PC<-(B3)(B2), аксинча PC<-PC+3.
Тоқ жавоб бўйича ўтиш (Tp=0) PC<-(B3)(B2), аксинча PC<-PC+3.
Қисм дастурни чақириш. [SP-1][SP-2]<-(PC),SP<-(SP)-2, PC<-(B3)(B2).
Қисм дастурдан қайтиш. PC<-[SP][SP+1], SP<-(SP)+2. |
|
Киритиш – чиқариш буйруқлари |
|||||
59
60 |
IN порт
OUT порт |
2
2 |
11011011
11010011 |
Маълумотларни киритиш. A<-(порт)
Маълумотларни чиқариш. Порт<-(A) |
|
Бошқа амаллар |
|||||
61
62
63 |
RST n
HLT
NOP |
1
1
1 |
11NNN111
01110110
00000000 |
8*NNN (0,8,16,…,56) адресдан МПни қайта ёқиш.
Останов.
Бўш буйруқ. |
|
2 – Илова
155 серияли ТТЛ МСдаги оёқчаларини вазифалари ва график кўриниши.
Адабиётлар
1. Преснухин Л.Н., Воробьев Н.В., Шишкевич А.А. Расчет элементов цифровых устройств. М.: Высш.шк., 1991, 526 с.
2. Угрюмов Е.П. Цифровая схемотехника. Учеб. пособие для вузов.- 2- изд.перераб. и доп.-СПб. БХВ – Петербург. 2005.-800 с.:ил.
3. Калабеков Б.А. Цифровые устройства и микропроцессорные системы. Учебник.-М.:Горачая линия- Телеком.,2003 г.-336.
4. Суворов В.И., Юнусов Д.Ю. Методическое руководство по лабораторно-практическим занятиям по курсу «Основы цифровой техники и микропроцессоры» (№ 47). ТЭИС, 1984, 118 с.
5. Хокинс Г. Цифровая электроника для начинающих: Пер. с англ. М.: Мир, 1986, 232 с.
6. Гольденберг Л.М. и др. Цифровые устройства и микропроцессорные системы. Задачи и упражнения: Учеб. пособие для вузов. М.: Радио и связь, 1992, 256с.
7. Абдурахманов Р.П., Баширов Р.В., Амирсаидов У.Б. Задания к контрольной работе и методические указания к их вўпольнению по курсу «Цифровая и вычислительная техника». ТЭИС, 1995, 30 с.
8. Преснухин Л.Н., Воробьев Н.В., Шишкевич А.А. Расчет элементов цифровых устройств. – М.: Высш.шк., 1991. – 526 с.
9. Угрюмов Е.П. Проектирование элементов и узлов ЭВМ . – М.: Высш.шк., 1987. – 318 с.
10. Суворов В.И., Юнусов Д.Ю. Методическое руководство по лабораторно-практическим занятиям по курсу «Основы цифровой техники и микропроцессоры» (№ 47). – ТЭИС, 1984. – 118 с.
11. Гольденберг Л.М. Цифровые устройства и микропроцессорные системы. Задачи и упражнения.: Учеб. Пособие для вузов. М.: Радио и связь, 1992.
12. Гольденберг Л.М. Цифровые устройства на интегральных схемах в связи. М.: Радио и связь, 1979, 232 с.
13. Абдурахманов Р.П., Баширов Р.В., Амирсаидов У.Б. Задания к контрольной работе и методические указания к их выпольнению по курсу «Цифровая и вычислительная техника». – ТЭИС, 1995. – 30 с.
МУНДАРИЖА
Кириш. |
3 |
1. Микропроцессор тизимларини лойиҳалаштириш |
4 |
1.1. МПСларни лойиҳалаштириш босқичлари |
4 |
1.2. МП КР580ВМ80А ва унинг буйруқ тизими |
10 |
Маълумотлар ва буйруқлар формати |
16 |
Адреслаш тартиби. |
17 |
МП нинг ишлаш тамойили |
20 |
МП нинг холати хақида маълумот.. |
24 |
МПнинг буйруқлар тизими.. |
26 |
Циклик силжиш амаллари... |
27 |
1.3. КР580ВМ80А микропроцессори.. |
32 |
1.3.1. МПни кодлар комбинацияси тилида дастурлаш усули |
32 |
Тармоқланишни дастурлаш |
37 |
Циклик ҳисоблаш жараёнларини дастурлаш... |
40 |
1.3.2. Ассемблер тилида дастурлаш |
44 |
Ассемблерда дастурлашга доир мисоллар |
49 |
Қисм дастурлар. |
55 |
Маълумотларни киритиш-чиқариш.. |
58 |
КР580ВА86 ва КР580ВА87 шакллантиргичлари. |
60 |
2. Курс ишга вазифалар ва уни бажариш бўйича методик кўрсатмалар. |
65 |
2.1.Курс ишига вариант ва вазифалар.. |
65 |
1-ИЛОВА. |
71 |
2-ИЛОВА.. |
78 |
Адабиётлар |
82 |