ЎЗБЕКИСТОН АЛОҚА ВА АХБОРОТЛАШТИРИШ АГЕНТЛИГИ
ТОШКЕНТ АХБОРОТ ТЕХНОЛОГИЯЛАРИ УНИВЕРСИТЕТИ
Маълумот узатиш тармоқлари ва тизимлари кафедраси
РАҚАМЛИ СХЕМОТЕХНИКА
5522000 – радиотехника йўналиши талабалари учун амалий машғулотларни бажариш бўйича услубий қўлланма
Тошкент 2009
Муаллифлар: Ж. Ю. Юнусов, Р. П. Абдурахманов, Х. Ю. Абасхонова,
Б.А. Алиев.
«Рақамли қурилмалар ва микропроцессорлар». / ТАТУ.
Тошкент, 2009.
Рақамли схемотехника курсининг мақсади рақамли қурилмаларнинг тузилиш тамойиллари ва турли функционал қийинликдаги, яъни рақамли мантиқий элементлардан (МЭ) тортиб, то микропроцессорларгача (МП) бўлган рақамли қурилмаларнинг ишлатилишини ўрганишдан иборатдир.
Ушбу амалий ишларини бажариш бўйича услубий қўлланма асосида талабалар рақамли схемотехника элементлари асосида турли қурилмаларни яратиш жараёнини ўрганадилар.
Услубий қўлланма “Телекоммуникация технологиялари” факультетининг илмий-услубий кенгашида кўриб чиқилиб, босмага тавсия этилган (“ 16 ” “ 09 ” “ 2008 ” йил № 64 сонли баённома)
Тақризчилар:
ЎзААА
РРТ бўлими бошлиғи
т.ф.н., доцент __________ Ю. К. Камолов
ТАТУ, «Телекоммуникация
узатиш тизимлари» кафедраси
мудири, т.ф.н., доцент __________ Р.И.Исаев
Муҳаррир: __________ К. А. Гаюбова
© ТОШКЕНТ АХБОРОТ ТЕХНОЛОГИЯЛАРИ УНИВЕРСИТЕТИ, 2009
КИРИШ
Рақамли схемотехника курсининг мақсади рақамли қурилмаларнинг тузилиш тамойиллари ва турли функционал қийинликдаги яъни рақамли мантиқий элементлардан (МЭ) тортиб то микропроцессорларгача (МП) бўлган рақамли қурилмаларнинг ишлатилишини ўрганишдан ташкил топади.
Рақамли схемотехника (РС) фани дастурга мос равишда назарий материаллар, назорат иши ва амалий ишларини ўз ичига олади. Назарий материалларнинг ўзлаштирилишни осонлаштириш учун ушбу ишда услубий кўрсатмалар, адабиётларга мурожаат, айрим холларда эса саволни кенгроқ ёритилиши ҳамда талабага жойларда мавжуд бўлган адабиётлардан бирини танлаб олиш имконини бериш учун бир нечта адабиёт номи кўрсатиб ўтилган.
РС курси икки қисмга бўлинган. Биринчи қисмда асосий диққатни унча қийин бўлмаган рақамли қурилмаларнинг структураси ва қуриш тамойилларига қаратилади. Биринчи қисмдан олинган билимларни бириктириш учун талабларга 3 саволдан иборат бўлган назорат иши берилади.
Иккинчи қисмда эса юқори қийинликка эга бўлган МП ва МПТ (микропроцессор тизимлари)ни қуриш тамойиллари ва уларни ишлатилиш қоидалари кўриб чиқилади.
Мазкур курс иши ЭҲМда дастурлаштириш бўйича амалий малака оширишта мўлжалланган.
маълумотларга кетма-кет ва параллел ишлов берувчи Арифметик – мантиҚий Қурилма синтези
Ишдан мақсад: Сумматорлар ЭҲМ арифметик–мантиқий қурилмалари (АМҚ) ва микропроцессорларни (МП) қуришнинг асосий тамойилларини ўрганиш, уларни йиғиш муаммолари, сумматор ва АМҚ ларни экспрементал тадқиқот қилиш.
Қисқача назарий маълумотлар
ЭҲМнинг маълумотларга амаллар ёрдамида ишлов бериш қисми процессор деб аталади. Процессор аппарат воситаси бўлиб, улар буйруқларга ва маълумотларга ишлов бериш учун мўлжалланган. Процессор ўз ичига АМҚни, амалларни бошқариш блокини ва буйруқларни бошқариш блокини олади. Амалларни бошқариш блоки амаллар кодини кетма-кет электр сигналларига айлантиради. Буйруқларни бошқариш блоки эса, буйруқлар мажмуасини бошқаради. АМҚ иккилик саноқ тизимида арифметик ва мантиқий амалларни бажариш учун мўлжалланган. Бундай иккилик саноқ тизими оперендлар деб аталиб, улар ўзгармас вергул ва сузувчи вергул шаклида ёзилиши мумкин. Бундан ташқари уларга ўнлик сонлар, буйруқлар ва айрим унинг майдонлари, мантиқий кодлар, алфавит рақам майдонлари кириши мумкин. АМҚда бажариладиган амалларни қуйидаги гурухларга бўлиш мумкин:
- Ўзгарувчан ва ўзгармас вергулли иккилик саноқ тизимидаги амаллар;
- Ўнлик арифметик амаллар;
- Кўрсаткичли – арифметик амаллар (буйруқ адреслари устида амаллар)
- Мантиқий майдонлар устида амаллар;
- Алфавит–рақам майдонлари устида амаллар.
АМҚнинг функционал схемасини оддий амаллар мисолида кўрамиз. Улар, ўзгармас ва сузувчи вергулли мантиқий кодлар устида амаллардир. Иккилик саноқ сонларни қўшиш мисолида АМҚ структурасини тушунтириш осон бўлади. Масалан, 00111 ва 01101 сонларни қўшиш керак бўлсин.
Биринчи сон 00111
+
Иккинчи сон 01101
Сурилиш 1111
Натижа 10100
Қўшиш амали кетма–кетликда бажарилади. Кетма-кетлик кичик разряддан бошланиб, катта разрядни қўшиш билан тугайди. Қўшишда сурилиш рўй бериши мумкин, булар кейинги разрядда инобатга олиниши шарт. Юқорида келтирилган мисолда сурилиш биринчи разрядда рўй берган. Ўз навбатида иккинчи разрядда ҳам рўй берган ва хоказо. Демак, икки сонни қўшишда сумматор амалини энг кичик разряддан бошлайди ва бунда йиғинди ва силжиш кейинги разряд учун хосил бўлиши керак. Қолган ҳамма разрядларни қўшишда олдинги разряддаги силжиш ҳисобга олиниши керак. i – разряддаги (i=0, n-1) қўшиш амалини бажаришда, n разрядли сонларни қўшишда уч киришли ва 2 чиқишли комбинацион схема қўлланилиши мумкин: 1-жадвалда олиниши мумкин бўлган сигнал қийматлари бир разрядли сумматор киришида ва унга мос чиқишдаги сигналлар қиймати, яъни йиғинди (Сi) ва силжиш (Рi) келтирилган.
1-жадвал
Кириш Чиқиш |
Ai bi Pi+1 Pi Ci |
0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 |
Юқоридаги жадвал бўйича АМҚ функциясини қуйидагича кўринишда ёзамиз:
Сi=Pi+1(aibiVaibi)VPi+1(aibi V aibi) (1)
Pi+1(ai bi V aib i) V Pi+1(aibi V ai bi)=Pi+1+ (ai+bi) (2)
ai ai bi bi Pi+1 Pi+1
& |
1 |
|
& |
|
Ci |
|
|
|
& |
|
|
& |
1 |
|
& |
|
Pi |
& |
|
|
1-расм. Бир разрядли сумматорнининг схемаси
(1) ва (2) функциялар асосида 2-расмда бир разрядли сумматор учун
схема келтирилган.
ai
bi
==1 =1
Ci
Pi+1
2-расм. Бир разрядли сумматорнининг схемаси
Бир разрядли сумматор асосида (1 ва 2-расм) n- разряддан сонлар учун сумматор қуриш мумкин.
a0 b0 a1 b1 an-2 bn-2 an-1 bn-1
P0 P1 P2 P n-2 Pn-1 Pn
Co C1 Cn-2 Cn-2
3-расм. Паралел n-разрядли сумматор схемаси
3-расмда паралел n-разрядли сумматор схемаси келтирилган. Уни қуриш учун n та сумматор керак бўлади. Сi чиқишлари (i=0,n-1) йиғинди амалларини ҳосил қилади. Силжиш сигналларнинг чиқиши кейинги разряднинг силжиш киришига уланган. 3-расмда келтирилган схема бўйича силжишлар кетма–кетликда амалга оширилади. Бу схемада қўшиш амалини бажариш вақти қуйидагича аниқланади.
t å = tc+(n-1)tp (3)
бу ерда tc – сумматорнинг бир разрядида қўшиш амалини бажариш вақти ;
tp – сигналнинг бир разрядда ҳосил бўлиш вақти;
Йиғиндининг ҳосил бўлиш вақтини тезлаштириш учун (3) тенгламанинг иккинчи хадини кичиклаштириш керак. Бу иш махсус генератор–схемаси ёрдамида амалга ошириш мумкин. Қуйида Рi қийматини аниқлаш формуласи келтирилган.
Рi=aibiV(ai+bi)Рi+1 (4)
Қуйидаги ўзгартириш киритиб aibi=gi ; ai+bi=qi, Рi ни аниқлаш формуласини ўзгартирилган холини ёзамиз.
Рi=gi Vqipi+1 (5)
Бундай ўзгартиришларнинг мақсади шундай булево–функцияларни қуриб, улар ёрдамида ҳар бир разрядда параллел равишда силжиш сигналларини хосил қилиш ва бунга жавоб берувчи схемани қуришдан иборатдир.
4-разрядли сумматор учун функциялар тизими қуйидаги кўринишда бўлади.
P3=g3Vq3P4 (6)
P2=g2Vq2P3=g2Vq2(g3Vq3P4)=g2Vg3q2Vq2q3P4 (7)
P1=g1Vq1P2=g1Vq1g2Vq1q 2g3Vq1q2q3P4 (8)
P0=g0 Vq0g1 Vq0q1q2g3 Vq0q1q2q3P4 (9)
4-расмда 4 разрядли параллел сумматорнинг тезкор силжиш ҳосил қилувчи схемаси келтирилган. У (7) формула асосда қурилган.
Тезкор силжишли n-разрядли сумматорда амални бажариш вақти қуйидагича аниқланади.
t å = tc+tp (10)
бундай сумматорда қурилманинг хажми разрядлар сони ошиши билан кескин ошади. Шунинг учун амалиётда кетма–кет ва тезкор силжишнинг мажмуаси қўлланилади. Яъни ҳамма n-разрядлар r-разрядли гурухларга бўлиниб, гурух ичида тезкор силжиш, группалараро кетма-кет силжиш қўлланилади.
Паралел n-разрядли сумматордан фойдаланиб, айрим арифметик амалларни, яъни қўшиш, айириш, бирор сонни 1га орттириш қурилмасини тузиш мумкин.
1 &
P4
P3
=1 &
a3
b3 С3
q3
&
a2
b2
&
q2
=1 =1
С2
=1 &
P
q2
&
a1
&
b1
=1
q1
=1
С1
q1
a0
=1 &
b0
q0
=1
Сo
&
q0
4-расм.4 разрядли параллел сумматорда тезкор силжиш ҳосил қилиш схемаси
Арифметик амалларни бажариш
Айириш амалини бажарилишини кўриб чиқамиз.Уни қўллаш учун икки йўл бор – сумматор каби айирувчи схемасини қуриш, иккинчи йўл сонларни махсус формага келтириб сумматордан фойдаланиш. Кўпгина ЭҲМларда иккинчи йўл қўлланилади. Бундай амалда қўлланилаётган сонлар тескари ва қўшимча кодларга ўзгартирилади. Сонни тескари кодга ўтказиш учун, хар бир разрядни инверсия қилинади. Масалан, 0100 сони тескари кодда қуйидагича бўлади: 10011. Иккилик сонни қўшимча кодга айлантириш учун, тескари кодга айлантирилган соннинг кичик разрядига 1 қўшилади.
10011+00001=10100
Бу холда айириш амалини бажариш учун айирувчини тескари ёки қўшимча кодга келтирамиз. Масалан, 10011 дан 01010 сонини айириш керак бўлсин. Оддий холда бу амал қуйидагича бажарилади:
10011
-
01010
01001
Агар, айирувчини тескари ва қўшимча код холда ёзсак юқоридаги амални қуйидагича бажарса бўлади.
10011 10011
+ +
10101 10110
1¬01000 1¬01001
00001
01001
Шундай қилиб, тескари кодни ишлатиш юқори разрядда силжиган 1 ни юқори разряддан қуйи разрядга ўтказиш керак ва бу холда қўшимча кодни топишга хожат қолмайди. Бунда юқори разрядда содир булган силжиш инобатга олинмайди. Буларни бажариш учун сумматор киришини (Si) қўшимча мантиқий элементлар билан боғлаш керак. Улар ёрдамида bi ни тўғри холда ёки инверс холда киритиш мумкин. Кичик разрядли 1 ни қўшиш сумматор киришига Р0 сигналини бериш билан амалга оширилади. Қуйида (5-расмга қаранг) bi кодини тўғри ва инверсия холда берувчи схемаси келтирилган.
1
bi
Si
&
S0
bi
5-расм. Сумматорни кириши учун (Si) қўшимча мантиқий элементлар уланиши
Ҳар бир разрядда бундай схеманинг бўлиши, сумматорнинг фақат қўшиш, айириш эмас, балки бошқа бир қанча амалларни бажариши имкониятини яратади. Юқорида айтилган гапларни тушунтирувчи схемалар 6-расмларда келтирилган. Бу расмлардаги 1-схема қўшиш амалини бажаради ва бу хол учун S0, S1нинг қийматлари берилган (6а-расмга қаранг). Айириш амалини бажарувчи схема 6б-расмда берилган.
А В A B
Сумматор Сумматор
P
0
Pn=0(S2=0) P0
Pn=1(S2=1)
C S0=0
С S0=1 S1=1
С=А+В S1=0 C=A+B+1=A-B
а) б)
А В A B
Сумматор Сумматор
P0
Pn=1(S2=1)
P0 Pn=0(S2=0)
С S0=0 C S0=0
S1=0 S1=1
C =A+B+1 C=A+B=A-B-1
в) г)
A 1 A 0
Сумматор Сумматор
P0
Pn=0(S2=0)
P0 Pn=0(S2=0)
C S0=1 C S0=0
C=A-1 S1=1 C=A S1=0
д) е)
А 1 А 0
Р0 Рn=1(S2=1) P0 Pn=1(S2=1)
C S0=1 C S0=0
C=A S1=1 C=A+1 S1=0
ж) з)
6-расм. Сумматорда бажариладиган амаллар
Мантиқий амалларни бажариш
Арифметик амаллардан ташқари ЭҲМнинг маълумотларни қайта ишлаш блокида мантиқий амалларни ҳам бажариш мумкин. Мантиқий амаллар кодлар устида разрядлар бўйича бажарилади ва бу кўп холларда АМҚ элементлари мажмуасига жуда ҳам боғлик. Қуйидаги 8-расмда АМҚ i-разрядининг тўрт мантиқий амал бажарувчи схемаси келтирилган. Булар қуйидаги амаллар: И, ИЛИ, ИЛИ-НЕ ва НЕ. Бажариладиган амалнинг танланишиши S0 ва S1 бошқариш сигналлари ёрдамида амалга оширилади.
1
ai
bi
1
fi
S0
S1
а)
S0 S1 |
Чиқиш сигнал fi |
Амал номи |
0 0 1 0 0 1 1 1 |
fi=aivbi fi=ai+bi fi=ai/\bi fi=аi |
ИЛИ-НЕ ИЛИ И НЕ |
б)
7-расм. Мантиқий амаллар бажарилиши
Мантиқий элементлар сони ва уларни танлаш машинанинг мантиқий амаллар бўйича рўйхатида амалга оширилади. Мавжуд схемаларни бирлаштириш, яъни арифметик ва мантиқий амалларни биргаликда бажариш қуйидаги 8-расмда келтирилган схема бўйича амалга оширилади. Бу ерда амалларни танлаш – S0, S1 ва М сигналлари ёрдамида бажарилади. Сумматорнинг (С), i-разряддаги чиқиш ва мантиқий амалларни бажарувчи схеманинг f i чиқиши мультиплексор (МS) ёрдамида бирлаштирилади. М кириш бўлса амалнинг хилини, яъни 0-бўлса – арифметик, 1-бўлса мантиқий амаллигини белгилайди.
Pi+1 SM S A Pi B MS 0 1 Yo
Pi+1
Сi Ci
ai
bi
S0 fi
S1
|
|||
M
Pi
8-расм. Арифметик ва мантиқий амалларни биргаликда бажариш схемаси
Аммо айрим амалларни бажаришда АМҚ элементларини қўллаш, фақат баъзи холатлардагина ўзини оқлаши мумкин. Кўп холларда яхлит тузилган битта комбинацион схемагина хар бир разряд учун барча амалларни бажаришга мўлжалланган бўлади. Агар амалларни бажаришга сарфланадиган вақт хал қилувчи бўлмаса, у холда дастурлаш йўли билан амаллар бажарилади . Бу холда мураккаб буйрук (буйруқ), оддий амаллар кетма-кетлигидан иборат бўлади. Бунга яққол мисол қилиб кўпайтириш амалини кетма-кет қўшишлар амали ёрдамида бажарилишини келтириш мумкин. Масалан, 0111 ни 1010 га кўпайтириш керак бўлсин. Қуйида келтирилган кўп сонли қўшишлар ва кўпайтирилувчи разрядларни силжитишлар кўпайтириш амалини бажаришга олиб келади. Яъни бу холда кўпайтириш амалини бажариш учун ЭҲМ амалар рўйхатида қўшиш ва силжитиш амалллари бўлиши етарлидир. Сумматорнинг мантиқий амалларни бажаришга яққол мисолини «ИЛИ–НЕ» амалини бажаришда разрядга қўшимча «ўтишни» йўқ қилиш кифоя. Бунинг учун тўғридан тўғри ўтиш занжирида (8-расм) «И» схемасини ўрнатиш ва унинг бир киришига олдинги разряддан ўтиш сигналини, иккинчисига эса S2 сигнални улаш лозим. У холда S2=1 да сумматор фақат арифметик амални, S2=0 да «ИЛИ-НЕ» мантиқий амални бажаради. Худди шу сумматорда кўпайтириш амалини бажариш учун қуйидагиларни бажариш лозим.
S2=0 да
Ci=ai+bi=(ai+ki)+bi=ai*bi/ki*bi/ai*ki*bi (11)
ki=bi холда
Ci=aibi/bibi/aibibi=aibi (12)
Шундай қилиб, сумматорнинг ai киришига “ИЛИ” ва “И” элементларини ўз ичига олувчи комбинацион схема қўллаб, “И” амалини бажарувчи АМҚ хосил қилиш мумкин. Бу схемага агар биз “И” схемасини ҳам қўшсак, қўшимча “ИЛИ” амалини ҳам бажариш мумкин. 9-расмда икки разрядли АМҚ нинг бир канча арифметик ва мантиқий амалларини бажарувчи комбинацион схемасининг қисми келтирилган. 2-жадвалда эса, S0, S1, S2, S3 бошқарув сигналларнинг қийматлари ва АМҚ бажариши мумкин бўлган амаллар келтирилган.
АМҚ қўшимча регистри
Баъзи холлларда арифметик амалларни бажаришда натижани якуний регистрга жойлаштиришни иложи бўлмайди. Масалан, бундай холлар қўшиш ва кўпайтиришда яққол кўриниши мумкин. Буни бошқа сўз билан айтганда разряд сеткасини тўлиши деб изохланади.
Кўп холларда бажарилган амал натижаси С регистрига ёзилган «0» қийматдан катталигига, яъни С – регистрнинг бита бўлса ҳам разрядида 1 борлигига боғлик. Бундай холларда натижани вақтинчалик сақлаш учун АМҚда бир неча тригерлар қўлланилади. Улар ўз навбатида қўшимча регистрни хосил қиладилар. Амалиётда ҳамма арифметик ва мантиқий амаллар қўшимча қийматларни хосил қилади.
9-расмда қўшимча регистрли саккиз разрядли АМҚнинг схемаси келтирилган.
2-жадвал
Байроқ регистри
A/8 B/8
АМК комбинацион схемаси
Z W
S0
T C D Т С D
S1
бош.
Чиқиш.
P0
|
амал
тугашиши
С0 С7
Натижа
9-расм. Қўшимча регистрли саккиз разрядли АМҚ нинг схемаси
Регистрнинг қўшимча тригерлари Z ва W билан белгиланиб қуйидаги вазифаларни бажаради.
W- йўқ разрядга ўтиш содир бўлса “1” қийматни қабул қилади (Р0=1-разряд сетканинг тўлиши);
Z – агар С нинг киришидаги натижа ҳамма разрядда “0” бўлса, “1” қийматни қабул қилади.
АМҚ синтези
Юқорида кўриб чиқилган комбинацион схемалар асосида ЭҲМнинг АМҚсини қуриш мумкин. АМҚ синтези бир неча босқичдан иборат. Булар, функционал схемаларни қуриш, комбинацион схемаларга қўйиладиган талабларни изохлаш, АМҚнинг комбинацион автоматларини синтези, операцион регистрларни синтез қилиш ва бошқалар.
АМҚнинг функционал схемасини қуришда ишни унга қўйилаётган асосий талабларни шакллантириш билан бошлаш зарур. Бу эса ўз навбатида лойихалаштираётган АМҚнинг асосий характеристикаларини ёритиб беради.
Ҳар бир разряд қийматини қайта ишлашига қараб АМҚ икки турга бўлинади; булар кетма-кет ва паралел АМҚлар. Кетма-кет АМҚларда натижа ҳар бир разряддаги сон бир разрядли комбинацион схемада қайта ишланади. Бундай АМҚнинг функционал схемаси 10-расмда келтирилган.
Маьлумотлар шинаси ШД n
/ n /n
ШС
T D C
ўнгга
. ai bi
A B Pi+1
C Pi
силжитиш
Pi+1
T2n
Ci
/ n
10-расм. Кетма-кет ва паралел АМҚ
АМҚда амалларни бажариш А ва В регистрларни ахборот жойлаштириш билан бошланадию, биринчи параметр маълумоти (оперенд) n-разрядли маълумотлар шинасидан (МШ) А регистрига ёзилади, иккинчиси эса В регистрига ёзилади. С – регистри эса, маълумотни қабул қилиш, сақлаш ва натижани қабул қилиш учун мўлжалланган. Уччала регистр ҳам битта импульс С нинг киришига қабул қилингандан кейин ахборотни бир разряд ўнгга суради. АМҚ комбинацион схемаси А, В ва Рi киришларига иккилик саноқ тизимидаги маълумотларни қайта ишлаш учун мўлжалланган.
Маълумотларга ишлов бериш қоидаси Si сигнали ёрдамида аниқланади. Т2n – тригери арифметик амалларда ўтиш сигналини сақлаш учун қўлланилади. Кетма–кет АМҚлар (10–расм) минимал аппарат харажатларини талаб қилган холда, n–разрядли сонларга ишлов беришда n- та такт талаб этади. А, В регистрлар сифатида оддий регистрлар қўлланилади, одатда улар D–тригерлар базасида қурилади. Аммо бу холда уларнинг чиқишида n–киришли мультиплексорлар чиқишини А ва В комбинацион схеманинг кириши билан боғлаш керак.
Агар, АМҚнинг асосий характеристикаси сифатида амалларни бажариш тезлиги асосни ташкил этса, у холда паралел АМҚлардан фойдаланиш керак. Бундай АМҚларда амалларни бажариш вақти n-маротаба камаяди. Қуйидаги 11-расмда n-разрядли паралел типдаги АМҚ келтирилган.
МШ
n n n
0......i......n-1 0.......i.....n-1
S
S0-Sk-1
КС (n-1) разр. КС 0 разр. КС I разр.
P0
P1 Pi Pi+1 Pn-1
P0
Stock
С0 Сi
Cn-1
0..i....................n-1
|
||||
n
11-расм. n-разрядли паралел типдаги АМҚ
Кейинги босқичда АМҚнинг комбинацион схемасини i-разрядини синтезини амалга ошириш керак. Иш амаллар рўйхатини тузиш ва анализдан бошланиши керак. Бунда арифметик ва мантиқий амалларни ажратиш ва хар бир гурухда бажарилиши мумкин бўлган амалларни бажарилишини аниқлаш зарур. Агар амаллар сони кўпчиликни ташкил қилса, у холда комбинацион схемани i-разрядини икки қисмга, яъни арифметик ва мантиқий қисмларга бўлиш мақсадга мувофиқдир. Худди шундай схема 11-расмда келтирилган. Агар, мантиқий амаллар сони камчиликни ташкил этса, 10-расмда келтирилган схемадан фойдаланиш мумкин. Бу схеманинг асосини сумматор ташкил қилади. Синтез қилиш масаласининг асосини сумматор киришида мантиқий амалларни бажарувчи элементлар сонини аниқлаш ташкил этади.
Оперендларни, натижаларини сақлаш регистр ёрдамида амалга оширилади. Тригерларнинг хилини танлаш эса регистр олдига қуйилган вазифага қараб амалга оширилади. Агар ахборотни фақат сақлаш масаласи турган бўлса, бир каскадли D–тригерларни қўллаш мақсадга мувофикдир. Агар, ахборотни ўнг ёки чап томонга суриш масаласи турса, у холда киришида комбинацион схемаси бўлган 2–каскадли Jk ёки D-тригерлардан фойдаланилади. Энди, конкрет мисолда АМҚни синтезини кўриб чиқамиз. Айтайлик, учинчи жадвалда келтирилган рўйхат бўйича амалар бажарадиган АМҚни синтез қилиш керак бўлсин.
3 жадвал
Қўшимча регистр қийматлари:
W – машинанинг разряд сеткаси тўлганда – «1» қийматни эгаллайди;
F – регистрнинг катта разряди “1” қийматни эгалласа, у ҳам “1” қийматни қабул қилади;
Z – регистрнинг ҳамма разрядлари “0” бўлса, “1” қийматни эгаллайди;
3-жадвалнинг охирги устунидаги “+” белгиси, амалларни бажаришда қўшимча регистр қийматлари ўзгариши мумкинлигини англатади. Масалан, тўртинчи амални бажаришда, Z ва F холатлари ўзгариши мумкин. Қўшимча регистр қийматлари амал бажарилгандан кейингина қабул қилинади ва кейинги амал бажариб бўлингунча сақланади.
АМҚни синтез қилишнинг биринчи босқичида амалларни бажариш алгоритмини яратиш ва АМҚ функционал схемасини тузиш зарур. 3-жадвалда келтирилган буйруқлар рўйхатидан, юқорида фақатгина икки буйруқни бажариш келтирилмаган эди. Булар–сонларни кўпайтириш ва А сонини бир разряд чапга суриш амалларидир.
Икки сонни бир-бирига кўпайтириш икки хил усулда бажарилиши мумкин. Булар, кўпайтувчилардан фойдаланган холда амални бажариш ва кетма-кет суриш, сўнг қўшишдир. Биринчи усул махсус яратилган комбинацион схемаларни талаб этади ва бунда амал бажарилиши учун кетган вақт минимал бўлади. Иккинчи усул учун кўпайтириш амалини бажаришни конкрет мисолда кўрамиз. Масалан, 10111 ва 0110 сонларни кўпайтириш керак бўлсин. Кўпайтириш кўпаювчиларнинг кичик разрядларини қараб чиқищдан бошланади. Агар, кўпайтирувчи бити “1” бўлса, кўпаювчи кейинги қаторга бир разряд чапга суриш йўли билан ёзилади, сўнг ҳамма сонлар қўшилиб кўпайтма топилади.
Агар, кўпайтириш амалини бажаришда паралел АМҚлардан фойдаланилса (11-расм), у холда АМҚ таркибида қўшимча В-регистри бўлиши керак ва у хосил бўлаётган хусусий йиғиндиларни сақлаб туриши керак.
В-регистри ундаги энг кичик ўнг разрядни текшириши ва керак бўлса кўпаювчини чапга бир разрядга суриши керак. Бунинг учун А-регистрида махсус чапга бир разряд сурувчи занжир ҳисобига олиниши лозим.
Бундай АМҚларда кўпайтириш амалининг бажарилиши А ва В регистрларни кўпаювчи ва кўпайтирувчилар билан тўлдириш, сўнг С ва В регистрларни тозалаш билан бошланади.
Кейинги этапда В-регистрининг кичик разрядини текшириш ва у «0» бўлса А даги сонни бир разрядга чапга суриш, «1» бўлса – А ва В даги сонларни қўшиб уни яна В га ёзиб қўйиш керак. Охирги босқичда А– регистрдаги сонни чапга бир разрядга суриш ва В=0 эканлигини текшириш керак. Агар у хақиқатдан ҳам «0» бўлса, кўпайтириш амалини тўхтатиш зарур, аксинча «1» бўлса давом эттириш керак.
Қолган амалларни бажариш 6-расмнинг а,в,з қисмларида кўрсатилгандек амалга оширилади. Келтирилган мисолдаги АМҚ комбинацион схемасининг ўзига хослиги В-регистрида учинчи киришнинг мавжудлигидир ва унинг фақат кўпайтириш амалини бажаришида ишлатилишидир. Бошқа амалларни бажаришда В-регистри ишлатилмайди.
Мантиқий амалларни бажаришда 6-расмда келтирилган схемадан фойдаланиш мумкин. Бунда АМҚ комбинацион схеманинг битта разрядининг функционал схемаси 5-расмда келтирилган схемадек бўлади.
Текширув саволлари.
1.ЭҲМ кандай асосий қисмлардан ташкил топган?
2.АМҚ кандай функцияларни бажаради?
3.АМҚнинг асосий амаллар гурухини айтинг ва амаллар қўлланишига мисоллар келтиринг.
4.Бир разрядли сонларда иккилик сумматорининг холат жадвалини келтиринг.
5.Иккилик сонлар учун 2 ва 3 – расмлардаги схемаларни фойдаланган холда 4-разрядли сумматор қуринг.
6.Қандай мақсад учун сонларни разряд бўйлаб тезкор сурувчи схема зарур? Бунда вақтни тежаш қандай амалга оширилади?
7.Конкрет мисолларда 5-расмда келтирилган амалларни хақиқатлигини исботланг.
8.9-расмда келтирилган схема бўйича арифметик ва мантиқий амаллар бажарилишини холат жадвали бўйича тушунтиринг.
9.Конкрет мисолларда 2-жадвалда келтирилган ҳамма амалларни бажарилишини 10-расмда келтирилган схема бўйича тушинтиринг.
10.Нима мақсадда қўшимча регистрлар (флаговый) керак.
11.Қўшимча (флаговый) регистрга сонлар қай тариқа ёзилади? Бунда қандай сигналлардан фойдаланилади ва улар қандай қилиб ташкиллаштирилади?
12.Кетма-кет ва паралел АМҚлар фарқи нимада?
13.Паралел–кетма-кет АМҚ схемасини келтиринг.
14.Кўпайтириш амалини бажарувчи ўз алгоритмингизни келтиринг. Уни қўллаш учун АМҚга қандай қўшимча элементлар керак бўлади.
15.АМҚ синтезининг асосий этапларини айтинг.
16. АМҚ (5-расм) учун А, В, В’ регистрлар схемасини келтиринг.
Амалий ишга тайёргарлик
1. Амалий ишинг баёнотини ўрганиш.
2. Амалий ишининг ҳамма текширув саволларига ёзма равишда жавоб бериш.
3. Берилган вариант бўйича АМҚни синтез қилиш.
3.1. АМҚни функционал схемасини қуриш.
3.11. Амаллар бажарилиш алгоритмини қуриш ;
3.12. Ҳар бир алгоритм учун АМҚ функционал схемасида зарур бўлган тармоқ ва элементларни кўрсатинг;
3.13. Келтирилган амаллар сонига қараб АМҚ умумий функционал схемасини қуринг;
3.2.Битта i-разряд учун АМҚ функционал схемасини комбинацион қисмини тузинг;
3.2.1. Арифметик ва мантиқий амаллар қандай бажарилишини аниқланг;
3.2.2.АМҚ нинг i-разрядида амаллар бажарилиши бошқарув сигналини аниқланг;
3.3.АМҚ i-разрядининг принципиал схемасини қуринг;
3.4.Берилган разрядлар учун АМҚ комбинацион схемасини қуринг;
3.5.Берилган разрядлар учун АМҚ регистрлари ва счетчикларини синтез қилинг.
3.6.АМҚнинг мантиқий схемасини қуринг. Жадвалда бошқарув сигналларининг қийматини келтиринг.
3.7.Бошкариш сигналларининг жадвалда кетма-кетлик шаклида келтиринг.
4.АМҚни ўрганиш схемасини яратинг.
5.АМҚнинг битта i-разряди учун вақт диаграммасини қуйидаги кодлар учун келтиринг .
4-жадвал.
Рi+1 |
1 |
1 |
ai |
1 |
0 |
bi |
1 |
1 |
5-жадвал.
№ п/п |
АМҚ разрядлари |
АМҚ буйруклари |
Операндлар кодлари A B |
|||
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
2 4 4 2 3 4 2 4 2 3 4 2 3 4 2 3 4 2 3 4 2 3 4 2 3 4 2 3 4 2 |
А+В,А-1,В+1,А-В,А+В,А А-1,А-В,А+В,В,В,АVВ А-В,В-1,АVВ,А/В А+В,А-В,В+1,А*В,А↓В,А,В А+1,А-В-1,А+В,А*В,А В+1,А-В,А+В,В А+В,А-В,В-1,АVВ,А/В А-1,А+В-1,А*В,А*В,В В-1,А+В,А/В,В А+В,А-В,В+1,А*В,А↓В,А А+1,А-В+1,А+В,А*В,А В+1,А-В,А+В,А А+В,А-В,В-1,АVВ,А/В,В А-1,А+В+1,А*В,АВ,В В-1,А+В,А*В,А А-В,А+В+1,В+1,А*В,А↓В,А А+1,А+В-1,А+В,АVВ,А В+1,А-В,А*В,А А-В,А+В-1,В-1,А В,А/В,В А-1,А+В-1,А*В,АVВ,В В-1,А+В+1,А*В,В А-1,А+В+1,В+1,А*В,А↓В,А А+1,А+В+1,А+В,АVВ,А В+1,А-В-1,А↓В,В А-В,А+В+1,В-1,АVВ,А/В,В А-1,А+В-1,А*В,А,В,А*В В-1,А+В+1,А/В,А А-В,А+В+1,В+1,А*В,А↓В,А А-1,А+В+1,А+В,А,В,АVВ В+1,А-В+1,А+В,А |
10 11 0101 0111 1011 1001 10 01 011 011 1101 1000 01 10 1111 0010 11 10 111 101 0101 0101 01 01 111 011 0111 0110 10 01 011 011 0011 0001 11 01 101 010 0101 0101 10 10 101 110 1010 0101 11 10 111 010 1110 0101 01 01 101 011 0101 0111 10 11 |
ОДДИЙ ДАСТУРЛАРНИ ЁЗИШ ВА БАЖАРИШ
Ишдан мақсад: Алоҳида буйруқларни ва оддий дастурларнинг бажарилишини текшириш, турли адресациялаш усулларининг дастурлашда қўлланилиши, дастурларни ёзиш.
назариядан қисқача маълумот
КИС КР580ИК80А микропроцессори олдиндан қайд қилинган буйруқларга эга. Бундай буйруқлар бажарилиш вақти буйруқнинг олиниш жараёни, кодлаш ва унинг бажарилиши билан аниқланади. Бу вақтни бир қатор вақтлар оралиғи орқали ифодалаш мумкин. МП КИСнинг синхросигналлар даврига тенг вақт оралиғи, шу машина ишлаш такти деб аталади. Бир байт маълумотни хотирадан, ёки ташқи қурилмадан, ёки буйрукнинг бажарилишига кетган вақт бир машина сўзи билан ифодаланса, бу машина цикли деб аталади. Машина цикли МП КИС учун 3-5 машинали тактларни ўз ичига олиши мумкин. Бажарилиш вақти буйруқ турига қараб 1-5 машинали цикллардан ташкил топиши мумкин. МП КИС учун 10 та хар хил машина цикллари бор:
· буйруқ кодини чақириб олиш ( М1 цикл),
· хотирадан маълумотни ўқиш,
· хотирага маълумот ёзиш,
· стекдан маълумотни чақириб олиш,
· стекка маълумот ёзиш,
· ташқи қурилмадан маълумотларни киритиш,
· ташқи қурилмага маълумот ёзиш,
· узилиш циклига хизмат қилиш,
· тўхташ,
· тўхташ режимида узилишга хизмат қилиш.
М1 цикли хар қандай буйруқни чақириб олишда биринчи машина цикли бўлади. МП КИСнинг ҳар бир машина циклида "Тайёр" холат сигналини ўзининг кириши орқали текширади. Киришидаги нол сигнали КИСнинг нормал иш жараёнини тўхтатиб туриб, айнан кўрилаётган машина цикли шу вақтда кичик-ЭҲМ ўз магистралларида узатилиши лозим бўлган ҳамма маълумот қатнашиб туради. Бу эса ўқув кичик-ЭҲМда буйруқларнинг машина тактлари орқали бажарилишини текшириш учун қўлланилади. Бу режимда маълумот кичик-ЭҲМ магистралларида ёруғлик диодлари холатлари билан кўрсатилиб турилади.
Дастур кичик-ЭҲМнинг хотира ячейкаларида кетма-кет ёзилади. Мисол тариқасида хотира қурилмасининг 0В00Н ячейкасидан сонни чақириб олиб, унинг миқдорини биттага камайтириб, натижани 0В01Н адресига ёзилиши лозим бўлган оддий дастурни кўриб чиқамиз.
1- дастур (мнемокодларда)
Мнемокод Изох
LDA 0B00 0В00 адресдан сонни олиш
DCR A сонни биттага камайтириш
STA 0B01 натижани 0В01 адресга ёзиш
HLT тўхташ.
Дастурни ёзишда ҳамма сонлар ўн олтилик саноқ тизимида берилади. Дастурни кичик-ЭҲМ хотирасига ёзишда мнемокод машина кодига айлантирилиши лозим. Дастур буйруқлари бир, икки ёки уч байтли бўлиши ва хотирадаги бир, икки, уч адресни эгаллаши лозим.
1-дастур (хотира адресларига жойлаштириш)
Адрес Код Изох
0800 3А LDA буйруқ коди
0801 00 кичик байт адреси
0802 0В катта байт адреси
0803 3D DCR A буйруқ коди
0804 32 STA буйруқ коди
0805 01 кичик байт адреси
0806 0В катта байт адреси
0807 76 HLT буйруқ коди
Дастурни аввал жуда ихчам кўринишга келтириш максадга мувофикдир. Дастурда ҳар бир буйруқнинг бошланғич адреси кўрсатилган бўлиб, бунда бир, икки, уч байтли буйруқ узунлигига боғлик холатга кетма-кет бирдан учтагача бўлган хотира ячейкалар эгаллайди. Бундай ёзилиш тартибида чап томон устунида фақатгина буйрук адреслари кўрсатилади. Бу эса дастурнинг таъсир қилиш хажмини камайтиради, ва уни тахлил қилишни жуда ҳам соддалаштиради.
1-дастур (ёзувнинг умумий куриниши)
Адрес Машина коди Мнемокод Изох
0800 3А 000В LDA 0B00 0В00 адресдан сонни олиш.
0803 3D DCR A Сонни биттага камайтиришга
0804 32 010В STA 0B01 0В01 адресга ёзиш.
0807 76 HLT Тўхташ.
Бу ерда адресга тўғридан-тўғри мурожаат этиш усули қўлланилади. Мавхум адреслаш асосида 1-дастурга ўхшаш мисол кўриб чиқамиз (2-дастур).
2 - дастур
Адрес Маш.коди Мнемокод Изох
0800 21 000В LXI 0B00 H , L регистрларига 0В00 сонини ёзиш.
0803 7Е MOV A,M H , L регистрларида кўрсатилган сонни
адресдан олиш.
0804 3D DCR A Аккумулятордаги сонни биттага
камайтириш.
0805 23 INX H H,L регистрлардаги сонни биттага
кўпайтириш.
0806 77 MOV M,A H , L лардаги кўрсатилган адресга
аккумулятордаги сонни ёзиш
0807 76 HLT Тўхташ.
Уйда тайёрлаш учун топшириқлар
1. Дастурлаш тили ва КР580ИК80 МП КИС буйруқлари таркибий тузилиши билан танишинг.
2. МП КИС буйруқларнинг ишлаш режими ва бажарилиш вақт диаграммасини ўрганиб чиқинг.
3. Ассемблер тилида ва КР580ИК80 МП КИС машина кодлари асосида дастурлаш усулларини ўқиб чиқинг.
4. INR A (3C), CMA (2F), ADD А (87), ANA A (A7), ORA A (B7),
CMP А (BF), DAA (27) буйруқларининг бажарилиш қоидаларини кўриб чиқинг. Қавслар ичида буйруқларнинг машина кодлари берилган.
5. Топшириқнинг 4-бандида келтирилган буйруқлар 1-дастурда 0803 адресга қўйиш натижаси билан текшириб чиқинг. 1-дастурда 0803 адрес ўрнига қўйилган хар хил буйруқлар бажарилиши натижалари 6-жадвалга киритилсин. 0В00 адресга ёзилган сон сизнинг (гурух журналдаги икки хонали тартиб) номерингизга мос келади.
6 – жадвал
0В00 адресга ёзилган сон |
0803 адресга ёзилган сон |
0В01 адресга ёзилган сон |
|
|
|
6. Дастурни ишлаб чиқиш
а) 7-жадвалда кўрсатилган адресга ёзилган сонни инверсиялаш ва натижани 7-жадвалда кўрсатилган (5 устун) адресга ёзиш.
7 - жадвал
Вар.
|
1-сон адреси (операнд) |
1-сон |
2-сон адреси (операнд) |
2-сон
|
3-сон адреси (операнд) |
3-сон
|
Натижа адреси
|
01 |
0806 |
34 |
0A11 |
45 |
0A45 |
CD |
0BA1 |
02 |
080A |
56 |
09CB |
6А |
0A46 |
4F |
0A10 |
03 |
0811 |
67 |
0AAA |
72 |
0941 |
57 |
0912 |
04 |
082A |
12 |
0916 |
84 |
0A10 |
3A |
0912 |
05 |
082E |
1Е |
0B00 |
50 |
0A0A |
8E |
0914 |
06 |
0831 |
4Ғ |
0AEC |
25 |
0949 |
FD |
0915 |
07 |
0835 |
78 |
0A16 |
59 |
0999 |
3F |
0A23 |
08 |
083A |
91 |
0940 |
21 |
0BFF |
73 |
0A45 |
09 |
083C |
4С |
09AC |
3В |
0AEC |
CA |
0916 |
10 |
084F |
03 |
090A |
67 |
0A7F |
9D |
0BA2 |
11 |
0853 |
25 |
0A09 |
81 |
0A89 |
16 |
0BA3 |
12 |
0859 |
56 |
0913 |
04 |
0AA3 |
3F |
0BA4 |
13 |
085B |
71 |
0926 |
5С |
09AA |
49 |
0BA5 |
14 |
086C |
39 |
09C3 |
28 |
09B6 |
32 |
0BA6 |
15 |
0863 |
48 |
0A60 |
52 |
09BB |
48 |
0BA7 |
16 |
0860 |
31 |
0A5B |
49 |
09CD |
6C |
0BA8 |
17 |
08BE |
26 |
096C |
18 |
09CF |
30 |
0BA9 |
18 |
0874 |
4В |
095C |
61 |
0AF4 |
92 |
0BAA |
19 |
0877 |
67 |
0A6E |
58 |
0A4F |
31 |
0BAB |
20 |
0879 |
48 |
0A63 |
4Е |
0950 |
16 |
0BAC |
21 |
087D |
93 |
0974 |
18 |
0959 |
67 |
0BAD |
22 |
087F |
81 |
094F |
83 |
0A5B |
45 |
0BAE |
23 |
0889 |
38 |
0A79 |
68 |
096C |
10 |
0BAF |
24 |
08A3 |
47 |
0977 |
3F |
0963 |
87 |
0AB0 |
25 |
08AA |
21 |
0A7F |
CD |
0A60 |
56 |
0AB1 |
26 |
08B6 |
28 |
097D |
48 |
096E |
47 |
0AB2 |
27 |
08BB |
9А |
0959 |
AB |
0A74 |
71 |
0AB3 |
28 |
08CD |
67 |
0ABB |
28 |
0A77 |
23 |
0AB4 |
29 |
08CF |
41 |
0AB6 |
FE |
0979 |
5A |
0AB5 |
30 |
08B4 |
39 |
09CD |
87 |
0960 |
45 |
0AB6 |
8 – жадвал
Вариант
|
Вазифа |
Вариант
|
Вазифа |
1
2
3
4
5
6
7
8
9
10
|
|
11
12
13
14
15
16
17
18
19
20 |
|
Амалий иш учун топшириклар
1-топшириқ. 1–дастурни ўрганиш.
Топшириқни бажариш тартиби:
1. Кичик-ЭХМга 1- дастурни жойлаштириш ( киргизиш ).
2. Ишлатилиши лозим булган сонни 0В90 адресга ёзинг.
3. 1- Дастурни 0800 адресдан бошлаб ишга туширинг.
4. 0В01 адресга ёзилган сонни урганиш йўли билан дастурнинг бажарилиш натижасини текширинг.
5. Буйруклар бажарилиши жараёнини 1-дастурнинг машина цикллари оркали текширинг. Хар бир буйрукнинг бажарилишида кичик-ЭХМда маълумотларнинг бажарилиши кетма-кетлигига, турланишига асосий эътиборни каратишингиз лозим. Дастурдаги исталган бир ва уч байтли буйрукларнинг бажарилиш жараёнининг вақт диаграммасини келтириш.
6. 1-дастурдаги DCR буйрукнинг INR A (3C), CMA (2F), ADD A (87), ANA A (A7), ORA A(B7), CMP A (BF), DAA (27) буйрукларига алмаштириб, бу буйрукларнинг бажарилишини урганиш 0ВВ1 адресга ёзилган сон буйича булиб, натижаларини текширинг. Уйда бажариладиган топширик натижалари билан олинган сонларни 3 - жадвал билан солиштиринг.
2 - топширик. 2- дастурни урганиш.
Топширикни бажариш тартиби.
1. Кичик-ЭХМга 2-дастурни киргизинг.
2. 0ВВ0 адресга текширилиши лозим булган сонни ёзинг.
3. Дастурни 0800 адресдан бошлаб ишга туширинг.
4. 0В01 адресга ёзилаётган сон оркали дастур бажарилиши натижасини текширинг.
5. MOV A, M буйругини машина циклида бажарилиш жараёнини текширинг.
3 - топширик. 3- дастурни урганиш.
1. Уйда ишлаб чикилган 3-дастурни кичик-ЭХМга киритинг.
2. Адресга 7-жадвал 3-устунда курсатилган гурух журналидаги узингизга тааллукли ракамга тўғри келадиган сонни ёзинг.
3. 7-жадвалнинг 5-устунидаги сонлар билан берилган адресдан 3-дастурни ишлатиб, натижани текширинг.
4 - топширик 4-дастурни урганиш.
1. Уй шароитида ишлаб чикилган 4-дастурни кичик-ЭХМга киритинг.
2. 7-жадвалнинг 3, 4-операндлари учун укитувчидан сонлар олиб курсатилган адресга ёзинг.
3. Бошлангич адресга асосан дастурни ишга туширинг.
4. Натижа адресидаги чиккан сонга асосан дастур ишини текширинг.
Ўқув кичик-ЭҲМда ишлаш.
Ўқув кичик-ЭҲМда амалий ишларини бажаришда қуйидагилар кўзда тутилиши керак:
1. Текширилаётган дастур хотира ячейкаларига кетма-кет ёзиш билан амалга оширилади. Адресга сонни ёзиб олишда "П", " __ " тугмачалар, ҳамда клавиатура қисмидаги рақамли тугмачалардан фойдаланилади.
2. Дастурни ишга солиб "СТ" тугмачани босиш билан амалга оширилади.
3. Буйруқлар бўйича дастурнинг бажарилиши "ШГ" тугмачани босиш билан амалга оширилиши керак, бироқ бундан олдин "РБ/ШГ" тугмачаси пастги холатга ўтказилган бўлиши керак. Бу режимда ёруғлик диодлари магистралларида буйруқ коди, шу адрес ячейкасидаги сон миқдори (маълумоти) ва холатлар регистри натижаларининг тасвири қурилган бўлади.
4. Машина цикллари бўйича дастурнинг бажарилиши "РБ/ШГ", "РГ/КЦ" тугмачалари босилиши ва "ШГ" тугмачаси кетма-кет босилиши билан амалга оширилади. Бунда ёруғлик диодларида буйруқ адреси кузатилаётган адрес ячейкаси миқдори, холатлар регистрининг ҳар бир разряди тўғрисидаги ҳар бир машина цикли яққол кўриниб туради. "СБ" тугмачасини босиш билан кўрилаётган режим иши тўхтатилади.
Ҳ и с о б о т н и н г м а з м у н и.
Ҳисоботда қуйидагилар қайд қилиниши керак:
1. Тўлдирилган 6-жадвал.
2. 1-дастурда ҳар қандай эркин танланган бир ёки уч байтли буйруқларни бажарилиш вақт диаграммалари.
3. 2-дастурдаги MOV A,M буйруғини кичик-ЭҲМда бажарилиш вақт диаграммаси.
4. Уйда тайёрланиш жараёнида ишлаб чиқилган 3 ва 4-дастур.
5. 1, 2, 3, 4–дастурларни ўрганиш натижалари.
Ў з - ў з и н и т е к ш и р и ш у ч у н с а в о л л а р
1. 1 ва 2 - дастурдаги ҳар бир буйруқ неча машина тактларидан иборат?
2. К580 туркумидаги УМТ асосида қурилган адреслаш усулларининг фарқи нимада?
3. 3-дастурни тузишда қандай адреслаш усулларидан фойдаланилган?
4. 1-дастурнинг қайси буйруқлари бажарилганда, 4-топшириқнинг бажарилишида МП регистр разрядидаги ўзгаришлар рўй беради?
тармоқланувчи дастурларни ёзиш ва бажариш
массив МАЪЛУМОТЛАРИда НИқОБЛАШни ва шартли ўтишларни ТАШКИЛ ЭТИШ
Ишдан мақсад: шартли ўтишлар воситасида тармоқланувчи дастурларни ёзиш ва маълумотларни ниқоблашни (маскирования) ташкиллаштириш усулларини ўрганиш.
Қисқача назарий маълумотлар
Кичик-ЭХМда шартли ўтишлар МП қисмларидаги холатлар регистрлари орқали амалга оширилади. Холатлар регистри беш разряддан иборат бўлиб, улар МП КИСида (Микропроцессор катта интеграл схемасида) охирги буйруқ бажарилиб бўлгандан сўнг ҳар бири тегишли қоида билан ўрнатилади. Булар қуйидаги разрядлардир:
1. С - CARRY- разряд сеткасининг тўлиб кетиш аломати. Агар арифметик ёки силжитиш буйруқлари бажарилиш жараёнида аккумулятор разряд тўлиб кетса, 1 ёзилади, акс холда эса шу разрядга 0 ёзилади.
2. S - SIGN - разряд ишораси. Агар арифметик ёки мантиқий буйруқлар бажарилиш жараёнида аккумулятордаги соннинг катта, еттинчи разрядига 1 ёзилган бўлса, сон мусбат бўлади ва S разрядга 1 ёзилади. Бошқа холларда S разрядга 0 ёзилади.
3. Z - ZERO - олинган натижанинг нолга тенглиги аломати. Агар арифметик ёки мантиқий буйруқлар бажарилиши натижасида аккумуляторнинг ҳамма разрядлари нолга тенг бўлса, Z разрядга 1 ёзилади, бошқа холларда разрядга 0 ёзилади.
4. AC - AUX CARRY - тўлиб кетганликни қўшимча аниқловчи разряд. Агар аккумуляторда буйруқ бажарилиш жараёнида 1 учинчи разрядга кўчиб ўтса, унга 1 ёзилади.
5. P - PARITY - жуфтлик аломатини аниқловчи разряд. Агар буйруқ бажарилиши жараёнида аккумулятор разрядидаги 1 лар сони жуфт бўлса, унга 1 ёзилади.
Кўпинча дастур ишининг бажарилиши жараёнида аккумулятордаги сон разрядларини текшириш ёки ўзгартириш (ниқоблаш) зарурияти пайдо бўлади. Буни қуйидаги амаллар орқали амалга ошириш мумкин.
1) аккумулятордаги сон ва ниқоб мантиқий кўпайтирилади. Агар ниқобнинг мос разрядларига 0 ёзилган бўлса, бунда разряддаги сон тозаланади, агарда ниқоб разрядига 1 ёзилган бўлса, у ҳеч нарсани ўзгартирмайди.
1 - мисол
ANI,22Н буйруғи (22Н сони ниқоб вазифасини бажаради)
01110011 аккумулятордаги сон
00100010 ниқоб
00100010 аккумулятордаги натижа
2 - мисол
ANI ,FO буйруғи
01011111 аккумулятордаги сон
11110000 ниқоб
01010000 аккумулятордаги натижа
2) аккумулятордаги сон ва ниқоб мантиқий қўшилади. Агар шу ниқоб разрядида 1 сони бўлса, бунда 1 сони разрядда ўрнатилади, агар шу разрядга 0 сони ёзилган бўлса, у берилган сонни ўзгартирмайди.
3 - мисол 4 - мисол
ORI,22Н буйруғи ORI ,FO буйруғи
01110011 аккумулятордаги сон 01011111 аккумулятордаги сон
00100010 ниқоб 11110000 ниқоб
01110011 аккумулятордаги натижа 11111111 натижа
3) аккумулятордаги сон ва ниқоб мантиқий рад этувчи "ёки" амалини бажаради. Агар берилган ниқоб разрядига 1 сони ёзилган бўлса, бунда разряд тескариланади (инверсияланади), агарда бу разрядда 0 сони ёзилган бўлса, у ўзгармайди.
5 - мисол 6 - мисол
XRI,22Н буйруғи XRI ,FO буйруғи
01110011 аккумулятордаги сон 01011111 аккумулятордаги сон
00100010 ниқоб 11110000 ниқоб
01010001 аккумулятордаги натижа 10101111 натижа
Келтирилган мантиқий амаллар фақат аккумулятор ичидаги сонлардан ташқари МП КИСининг қолган ички регистрлари билан ҳам бажарилиши мумкин. Бу холда буйруқлар бир байтли бўладилар. Барча мантиқий амаллар бажарилаётганда холатлар регистрнинг Z, S, P, AC разрядлари иш холатида бўлади (С разрядга 0 сони ёзилади). Бу эса ихтиёрий разрядларни текшириш имконини беради ва дастурларда шартли ўтишларни бажариш мумкин бўлади. Алохида разрядларни ниқоблаш дастурлари (3- дастур) қуйида келтирилган.
3 - дастур
Адрес Маш. код Мнемокод Изох
0800 3А 00 0А LDA 0A00 Хотирадан сонни чақириб олиш
0803 E6 F0 ANI F0 Мантикий амал бажариш
0805 32 01 0А STA 0A01 Натижани хотирага ёзиб куйиш
0808 76 HLT Тухташ
Қуйидаги 4-дастурда хотира ячейкасидан олинган соннинг нолинчи разрядида 1 борлигини аниқловчи ва топилган бундай сонни хотира ячейкасига ёзиб қўювчи дастур келтирилган. Дастур сонни ниқоблаш ва шартли ўтиш буйруқларини ишлатишга асосланади.
4 - дастур
Адрес Маш. код Белги Мнемокод Изох
0800 3А 00 0А LDA 0A00 Хотирадан сон олинсин.
0803 47 MOV B,A В регистрда сақлансин.
0804 Е6 01 ANI 01 0 разряднинг холати текширилсин.
0806 С2 0А 08 JZ M1 Агарда 0 нолинчи разрядда бўлса, М1
0809 76 М2: HLT Тўхташ.
080А 78 М1: MOV A,B Сон аккумуляторга кайтарилсин
080В 32 01 СА STA 0A01 Хотирага ёзилсин
080Е С3 09 08 JZ M2 Дастур тугашига утилсин.
5-дастур ОХК (ОЗУ)даги 1-массивдан иккинчи ва бешинчи разрядларида 1 бор бўлган сонларни аниқлайди, сўнгра шу сонлардан 2-массивни хосил қилади.
Адрес Маш. код Белги Мнемокод Изох
0800 21 00 0А LXI Н,0А00 1-массив бошлангич адреси
0803 11 20 ОА LXI D,0А20 2-массив бошлангич адреси
0806 06 06 MVI В,06 Текшириладиган сонлар
0808 7Е М2: MOV А,М Хотирадан сон ўқилсин
0809 4F MOV C,А Сондан нусха кўчирилсин.
080А Е6 24 ANI 24H Ниқоблаш бажарилсин.
080С СА 11 08 JZ M1 Агарда керакли разрядларда
1 бўлса, унда М1га ўтилсин.
080F 79 MOV A,C Топилган сон аккумуляторга
қайтарилсин.
0810 12 STAX D У хотирага ёзилсин.
0811 13 INX D 2-массив адреси биттага
орттирилсин.
0812 23 M1: INX H 1-массив адреси биттага
орттирилсин.
0813 05 DCR B Текширилаетган сонларнинг
миқдори биттага камайтирилсин.
0814 C2 08 08 JNZ M2 Агарда ҳамма текширилаётган
сонлар қаралмаган бўлса, унда
М2 га ўтилсин.
08І7 76 HLT Дастур охири.
Уйда тайёрлаш учун топшириқлар
1. Мантиқий ва шартли ўтиш буйруқларни ўрганинг.
2. МП КИСининг холатлар регистр разрядлари ва уларга 1 сонини
ёзиш қоидалари билан танишинг.
3. 3,4,5-дастурлар билан танишиб чиқинг.
4. 8-жадвалга асосан ўз дастурингизни ишлаб чиқинг.
9-жадвал
Вариант рақами |
Дастурнинг вазифаси |
Массив узунлиги |
01 |
Адреси 0А01бўлган 1-массивдан адреси 0А39 бўлган 2-массивга барча жуфт сонлар ўзатилсин |
10Н |
02 |
Адреси 0А13 бўлган 1-массивдан адреси 0963 бўлган 2-массивга барча мусбат сонлар узатилсин |
08Н |
03 |
0916 адреси бир массивдан кичик ярим байтида 1 бўлган барча сонлар танлаб олиниб, улар 0А10 адресли 2-массивга ёзилсин. |
12D |
04 |
0АВС адресли 1-массив 09СЕ адресли 2-массивга қайта кўчирилсин. Охирги кўчирилган сон ишораси аниқлансин, агар у мусбат бўлса, уни 0990 ячейкага ёзиб қўйинг. |
14D |
05 |
Бошланғич адреси 0901 бўлган 1-массивдан катта рязрядида 1100 бўлган сонлар аниқланиб, улардан 09А0 адресли янги массив хосил қилинг. |
10Н |
06 |
0910 адресли 1-массивдан барча жуфт сонлар йиғиндисини тўплаб улардан адреси 09Е1дан бошланадиган 2-массив ташкил қилинг. Аниқланган йиғинди 0А16 ячейкага жойлансин . |
0АН |
07 |
0996 адресли 1-массивдан энг кичик сон ажратиб олинсин ва 0А0А адресли ячейкага ёзилсин. Аниқланган сондаги 1 лар сони ҳисоблансин, агар ҳисобланганда жуфт сон чиқса, 0А08 адресли ячейкага ёзиб қўйилсин. |
04Н |
08 |
0А12 адресли 1-массивдан барча тоқ сонлар танлаб олинсин ва 09Е0 адресли 2-массив ташкил этилсин. |
0ЕН |
09 |
Саккиз битли ишорасиз сонлар йиғиндиси аниқланиб 09В0 ячейкага ёзилсин. Аниқланган йиғиндининг жуфтлиги текширилсин, агарда у жуфт сон бўлса, 0981 ячейкага ёзиб қўйинг. |
07Н |
10 |
0А49 адресли 1-массивдан манфий ишорали сонлар қидирилиб улардан янги 0А59 адресли 2-массив ташкил этилсин . |
09Н |
11 |
0911 адресли 1-массив сонлар йиғиндиси топилсин. Аниқланган йиғинди мулохаза қилинсин, агар у тоқ сон бўлса 0992 ячейкага, агар жуфт сон бўлса 0991 ячейкага жойлаштирилсин . |
10D |
12 |
0920 адресдан бошланувчи 1-массивдан 09Н операнди қидирилсин, агар шу операнд бўлса, унинг адреси кетма- кет 0980 ва 0981 ячейкаларига ёзилсин, агар бу операнд йўқ бўлса , В0 коди 0906 ячейкага ёзилсин. |
16D |
13 |
0910 адресдан бошланувчи 1-массивдан катта разрядида 0011 коди бор барча сонлар танлаб олинсин, бу аниқланган сонлардан адреси 0920 дан бошланувчи 2-массив ташкил қилиниб, 0982 ячейкага шу массив миқдори ёзиб қўйилсин . |
10Н |
14 |
0А44 адресдан бошланувчи 1-массивдаги сонлар ячейкаси тўлиб кетгунча қўшилсин. Сўнгра қўшиш амалидаги охирги сон адреси кетма-кет 0910 ва 0911 ячейкаларга ёзиб қўйилсин. |
09D |
15 |
0А90 адресли 2-массивдан 0А10 адресли 1-массивга еттинчи разрядида 1бўлган сонлар кўчириб ёзилсин. |
10Н |
16 |
0А98 адресли 2-массив 0АА0 адресли 1-массивга 0А00 ячейкага шу массив микдори ёзилиши билан кўчирилсин. Сўнгра 0А00 ячейкадаги сонда нечта 1 борлиги аниқланиб, унинг миқдори 0А01 ячейкага ёзилсин . |
06Н |
17 |
0А01 адресли 1-массив 0А00 адресли 2- массивга тескари тартибда кўчирилиб ёзилсин. Кўчириш жараёнида манфий сонлар ёзилмасин. |
07Н |
18 |
0А00 адресли 1-массивдан барча тоқ сонлар танлаб олиниб, 099А адресли 2-массив ташкил қилинсин. |
08D |
19 |
0В00 адресли 2-массивдан бешинчи разрядида 0 бор сонлар танлаб олиниб, 0А00 адресли 1-массив ташкил этилсин. Сўнгра бу танланган сонлар сони аниқлансин |
10D |
20 |
0А29 адресли 1-массивдан ASCII кодига (30Н код) мос бўлган ҳамма сонлардан 0981 адрес билан бошланган, 2-массив ташкил қилинсин. |
12D |
21 |
0А15 адресли 1-массивдан барча тоқ сонлар йиғиндиси топилиб, 0943 адресли 2-массив ташкил қилиш зарур. Бунда шу 2-массивнинг охирги ячейкасига аниқланган йиғинди микдори ёзилган бўлиши зарурдир. |
11D |
22 |
0949 адресли 1-массивдан энг катта сон топилсин ва унинг ишораси текширилсин. Агарда у мусбат бўлса, у холда бу сон 0906 ячейкага ёзилсин. |
07Н |
23 |
0944 адресли 2-массивни 0А28 адресдан бошланган 1-массивдан ташкил қилинг. Берилган маълумотлар : 1-массив учун X1,X2, ... Xn, 2-массив учун c1=X1, c2=X1+X2, c3=X1+X2+X3,...ва х.к. |
0АН |
24 |
0991 адресга жойлашган 1-массив йиғиндиси топилсин, унинг ишораси аниқлансин. Агар ишора манфий бўлса, уни 0А00 ячейкага жойланг. |
04Н |
25 |
0943 адресли 2-массив 0А40 адресли 1-массивдаги сон адреслардан ташкил қилинсин.Агар 1-массив ячейкалар сони 0А дан катта бўлса массив ташкил қилиш тўхтатилсин. |
05Н |
26 |
09А1 адресли 1-массивдан кичик уч разрядида 1 бўлган сонлар ажратиб олиниб 0А09 адресли 2-массив ташкил этилсин. |
11D |
27 |
0АВ3 адресли 1-массивнинг жуфтлиги текширилсин ва барча тоқ сонлардан 0АС0 адресли 2-массив хосил қилинсин. |
09D |
28 |
0936 адресли 1-массивдан жуфт микдорга тенг бўлган сонлар ажратиб олинсин ва улардан 0949 адресли 2-массив хосил қилинсин. |
0АН |
Амалий ишларни бажариш учун топшириқлар
1-топшириқ. 3-дастур текширилсин.
Топширикнинг бажариш тартиби.
1. 3-дастур кичик-ЭҲМга киритилсин
2. ОХК текширилиши учун зарур маълумотлар ёзилсин.
3. Дастур ишга туширилсин.
4. Дастурнинг тўғри бажарилганига ишонч хосил килинсин.
2- топшириқ. 4-дастур текширилсин.
1. Дастур ва маълумотлар киритилсин.
2. Дастурни кадамлаб бажариш усулига утинг ва дастурни ишга туширинг.
3. УМТ олди панелидаги ёруглик диодлар ёнишини изохланг ва дастурнинг тўғри бажарилаётганига ишонч хосил килинг.
4. Дастурни буйруқ режимида ишлашга утинг ва ёруглик диодлари оркали
унинг бажарилаётганига ишонч хосил килинг.
5. Тизимни бошлангич холатга кайтаринг.
3- т о п ш и р и к. 5- дастур текширилсин.
Топширикнинг бажариш тартиби: 1-топширик бажарилишига ухшашдир.
4-т о п ш и р и к. Мустакил тузилган дастур иши текширилсин.
Топширикнинг бажариш тартиби: 1-топширик бажарилишига мосдир
Ҳ и с о б о т н и н г м а з м у н и
Хисобот куйидаги:
1. 3, 4, 5 - дастурлардан.
2. Мустакил бажарилган 8-дастурдан.
3. КР580ИК80 МПнинг шартли бажарилиш буйруқ турлари тўғрисидаги тўлиқ маълумотлардан.
4. МП КИС учун тўлиқ бўлган мантиқий амаллар тўғрисидаги маълумотдан ташкил топган бўлиши зарур.
Топшириқлар ва ўз-ўзини текшириш учун саволлар
1. 3-дастурда МП КИСнинг қандай буйруқлари ишлатилганда холатлар регистридан фойдаланилган ?
2. МП КИСнинг холатлар регистрига 1 сони қандай шартлар бажарилганда ёзилади?
3. МП КИСда қандай мантиқий амал турлари ишлатилган?
6 – амалий машғулот
ҚИСМ ДАСТУР ВА СТЕК
Ишдан мақсад : Қисм дастурнинг ёзилиши ва унга мурожаат қилиш тамойилларини текшириш, дастур тузишда стекнинг ишлатилиш усулларини ўрганиш.
Қисқача назарий маълумотлар
КР580 сериясида қурилган МПҚ хотира элементлари (қурилмаси) 66536 та бир байтли ячейкалардан ташкил топган бўлиши мумкин. Хотира ячейкалар сони чекланган бўлгани учун тузилаётган дастурлар ҳам иложи борича қиска бўлиши зарур. Бунинг учун тузилаётган дастурнинг кўп марта такрорланадиган қисми ёки шу дастурнинг ўзи қисм дастур тарзида ифодаланиши мумкин. У буйруқлар кетма-кетлигидан ташкил топилган бўлиб, унинг бажарилиши асосий дастурнинг исталган жойидан чақирилиб исталганча такрорланиши мумкин. Қисм дастурга бошқарувнинг берилиши жараёни чақирув деб аталади. Қисм дастур бажарилишидан ва ўз иш жараёни тўхташидан ҳосил бўлган маълумот унинг чиқиш параметри деб аталади.
Қисм дастурни чақириш ва ундан қайтиш учун CALL<A2><A1> ва RET буйруқларидан фойдаланилади. CALL<A2><A1> буйруқдаги <A2><A1> байтлар МП КИСининг дастур ҳисоблагичига хотира ячейкаларининг CALL (СD) кодидан кейин жойлашган кетма-кет ячейкалардан олиб юкланади. <A2> байт қарамоғидаги маълумот дастур ҳисоблагичининг кичик байтига PCLга ёзилади. Буйруқдаги <A1>нинг учинчи байти дастур ҳисоблагичининг катта PCH байтига ёзилиб, бундан МП КИСининг стекида қисм дастурнинг иш жараёни тугагандан сўнг асосий дастурга автоматик равишда қайтиш адрес сақланиб турилади.
Стек - Кичик-ЭҲМдаги берилган маълумот ва адресларни вақтинча саклаш учун қўлланиладиган ОҲҚдаги махсус ташкил қилинган қисмдир. Стекка охирги ёзилган сон биринчи бўлиб чақирилади.
RET қайтариш буйруғи эса қайтиш адресини стекдан чиқариб олиб, дастур ҳисоблагичига юклайди. Кейин эса асосий дастур иши шу юкланган охирги адресдан давом эттирилади. Барча мавжуд қисм дастурлар RET буйруғи билан тугаши зарурдир.
Асосий дастур адреси қисм дастур бажарилиши жараёнида автоматик тарзда сақланиши ва унинг қайта тикланиши қисм дастурларнинг ичида қўшимча қисм дастур киритиш имкониятини яратиб, бунда бир қисм дастурдан иккинчисини чақириш мумкин бўлади. Бунда жойлаштириш сатхи кичик-ЭХМнинг стеки хажми билан чекланади.
Қисм дастурларни чақириш ва ундан қайтиш учун яна шартли буйруқлар ҳам мавжуд. Улар қисм дастурларни чақириш ва ундан қайтиш учун холатлар регистрининг баъзи бир холатларидан фойдаланилади.
Қисм дастурни чақириш ва ундан қайтиш буйруқларидан ташқари стек билан маълумотлар айрбошлашни PUSH<P> (белгиланган МП КИС регистридаги маълумотни стекка ёзиш) ва POP<P> (маълумотни стекдан МП КИСининг белгиланган регистрига кўчириб ёзиш) буйруқлари билан ҳам амалга ошириш мумкин. Бу буйруқлар бир байтли бўлиб, уларда МП КИСининг жуфт регистрлари кўрсатилади.
Дастурлар ишлаб чиқарилаётганда аввал стек чегараси кўрсатилиб, LXI SP<A2><A> ёки SPHL буйруқлар орқали SP (стек кўрсатгичи) адресига ёзиб қўйилади.
Стек билан бажариладиган амаллар тенг бўлмоги зарур. Бошқача айтганда, ҳар бир қисм дастур ичида PUSH<P> ва POP<P> буйруқлари тенг бўлиб, RET буйруғи билан тугаши керак. Акс холда RET буйруғининг қисм дастур охрида бажарилиши дастур ҳисоблагичига стекдан тасодифий сон ёзилишига олиб келади. Бу эса асосий дастурга қайтиш адресининг йўқолишига ва унинг бажарилишининг бузилишига олиб келади.
12-расмда стек хотирасининг ишлаш жараёни тушунтирилган. Стекка А сўзи жойлаштирилганда у биринчи бўш бўлган хотира ячейкасини эгаллайди. Кейинги ёзилаётган сўз олдинги ёзилиб турган сўзни битта юқорига ячейкага суриб, ўзи эса шу бошлаган жойни эгаллайди ва қолган холларда ҳам шу тартибда давом этади. Саккиз ячейкали стекка 8 сўз Н дан кейин ёзилиши, стекнинг тўлиб кетишига ва А сўзнинг йўқолишига олиб келади. Стекдан маьлумот ёзилган сўзларни ўқиш тескари тартибдан юз беради, бошқача қилиб айтганда охирги ёзилган Н сўзини ўқишдан бошланади. Шуни айтиш керакки, Е сўзини танлашни F сўзини олмагунча бажариш мумкин эмас.
|
|
|
|
|
|
А |
|
|
|
|
|
|
В |
|
|
|
|
|
|
С |
|
|
|
|
|
|
D |
|
|
|
|
|
|
E |
|
|
|
|
А |
|
F |
|
|
А |
|
В |
|
H |
Стек чўққиси.
12 - расм. Стек хотирасининг ишлаш жараёни.
13-расмда оддий кутиш вақтини хосил қилувчи қисм дастурнинг алгоритми келтирилган. Умумий кутиш вақти қуйидаги муносабат билан аниқланади:
TD = t1 + (t2 + t3 + t4)N1 + t5 (13)
бу ерда N - ҳисоблагичга ёзилган бирламчи сон.
Ҳисоблагич сифатида В регистр танлаб олинган бўлиб, унга N1 сони С регистрдан олиб ёзилади.
Йўк
В=0
Ҳа
13-расм. Кутиш вақти хосил қилувчи оддий қисм дастурнинг алгоритми,
Қуйида DLY кутиш вақти 3 - қисм дастури келтирилган.
3 - қисм дастур
Адрес Маш. коди Белги Мнемокод Изоҳ
0900 41 MOV B,C С регистрдан В регистрга сон ёзилсин.
0901 00 DLY: NOP Буш амал
0902 05 DCR B В регистрдаги сон қиймати 1га
камайтирилсин
0903 С2 01 09 JNZ DLY Агар В регистрдаги сон 0га тенг
бўлмаса, DLYга ўтилсин
0906 С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 (14)
4-дастур ва 3-қисм дастур ёрдамида саккиз разрядли сонларни қўшишни амалга ошириш мумкин.
4 - дастур
Адрес Машина коди Белги Мнемокод Изох
0900 LXI H,0940 Қўшилувчи сонларнинг бош
0903 LXI D,0A10 адресларини юкланг
0906 MVI C,08 Хисоблагични урнатиш
0908 PUSH PSW А регистр ва холатлар
қийматини стекда саклаш
0909 POP: CALL SLOG SLOG кисм дастурни
чакириш
090С SUB A Аккумулятор тозалаш
090D DCR O Хисоблагични 1га
камайтириш
090Е JZ LOP Агар регистр С=0 булса, унда
LOP га утилсин.
0911 INX H Кейинги қўшилувчилар жуфт-
0912 INX D лиги адресларини ташкил этиш
0913 JMP POP POP 0га шартсиз утиш
0916 LOP: POP PSW А регистр ва холатлар киймати-
ни стекдан чикариш
0917 HLT Дастур охири
5 - кисм дастур
Адрес Машина коди Белги Мнемокод Изох
096С SLOG: MOV B,M Қўшилувчиларни хотирадан В
регистрга юклаш.
096D LDAX D D регистридаги сонни чакириш.
096Е ADC B Кучиришни хисобга олиб қўшиш.
096F STAX D Йигиндини иккинчи қўшилувчи
адресида саклаш.
0970 RET Асосий дастурга кайтиш.
У й д а т а й ё р л а ш у ч у н т о п ш и р и к л а р
1. CALL<A1><A2> ва RET буйруқларининг кичик-ЭХМ да бажарилиш вақт диаграммаси урганилсин.
2. Кисм дастурни чакириш ва унга кайтиш учун МП КИСларининг шартлари .
3. 4-ва 5-кисм дастурларни ишга тайёрланг.
4. 5-кисм дастурининг бажарилиш вақтини аникланг.
5. 5 ва 10 секундли кутиш кисм дастурларини тузинг.
амалий ишларни бажариш учун топшириклар
1-топшириқ 3-кисм дастур ёрдамида кутиш вақтини текшириш
Топшириқни бажариш тартиби :
1. Кичик-ЭҲМ га 3-қисм дастур киритилсин .
2. Қисм дастур ишга туширилсин ва унинг бажарилиши кичик-ЭХМда қадамлаш режимида текширилсин.
2-топшириқ. 4-дастур ва 5-қисм дастур текширилсин
Топшириқни бажариш тартиби:
1. 4-дастур ва 5-қисм дастур кичик-ЭХМга киритилсин.
2. Бошлангич маълумотлар (саккиз разрядли қўшилувчилар) киритилсин.
3. 0900 адресдаги дастур ишга туширилсин.
4. Олинган натижа текширилсин.
Ҳ и с о б о т н и н г м а з м у н и
Ҳисоботда қуйидагилар бўлиши керак:
1. CALL<A1><A2>, RET буйруқларининг вақт диаграммалари.
2. МП КИС КР580 учун қисм дастурни чақириш ва ундан қайтиш буйруқлари тўғрисида тўлиқ маълумотлар.
3. 5 ва 10 секундли кутиш дастурларининг уйда тайёрлаб келинган нусхаси (ҳисобланган вақтлари билан).
4. 3, 4, 5-дастурлар.
7 – Амалий машғулот
АРИФМЕТИК АМАЛЛАРНИ БАЖАРИШ
И ш д а н м а к с а д : Арифметик амалларни бажариш дастурларини текшириш ва ташкил килиш усулларини урганиш.
Қисқача назарий маълумотлар
Сонлар тасвирлашининг белгиланган ва силжувчи нуқтали усулидан биринчиси МП КИС КР580ИК80А кичик-ЭХМда дастурлаш учун кўпроқ тарқалган. Бу шу билан боғлиқки, МП КИСда силжувчи нуқтали сонлар устида ишловчи махсус буйруқлар йўк, ўз навбатида, белгиланган нуқтали -128дан +127гача қийматга эга бўлган ишорали саккиз разрядли иккилик сонини белгили иккилик сон кўринишда тасаввур қилиш мумкин. Бунда манфий сон қўшимча кодда берилиб, охирги еттинчи разряди сон ишорасини аниқловчи сифатида қўлланилади. Соннинг бундай қурилиши арифметик амаллари бўлган бир хил разрядларни қўшишдан хосил бўлган орттирмаларни юқори разрядга узатиш ва айиришда эса катта қийматли разряддан қарз олиш холатларини бажара олмайди.
Белгиланган нуқтали сонни 0дан 255гача қийматга эга бўлган, иккилик белгисиз сонлар кўриниши орқали ифодалаш мумкин бўлиб, МП КИС КР580ИК80А учун бу сонлар ҳар бир байти икки ярим байтга - икки тетрада кўринишида аниқланиб, булардан ҳар бирини ўнлик код рақамида BINARY-CODE- DECIMAL (BCD) иккилик-ўнлик кўринишида ифодалаш мумкин. Бундай тасвирлашда 1 байт орқали 0дан 99гача сонларни кодлаш мумкин бўлади.
Арифметик қўшиш, айириш, кўпайтириш, бўлиш, махсус функцияларни ҳисоблаш амалларини тегишли дастур (қисм дастур) мисолларида кўриб чиқамиз.
6-дастур
Адреси Машина коди Белги Мнемокод Изох
0800 21 00 0В MAIN: LXI H,0B00 Биринчи қўшилувчи адресини
H ,L регистрларига ёзиш
0803 06 05 MVI B,05 Қўшилувчиларни В регистрига
юклаш
0805 CD 09 08 CALL ADDB Қўшилиш кисм дастурини
чакириш.
0808 76 HLT Дастур бажарилишини узиш.
7-Кисм дастур
Адрес Маш. коди Белги Мнемокод Изох
0809 AF XRA A Аккумуляторни тозалаш
080A 4F MОV C,A Кучириш хисоблагични тозалаш
080B 86 CNT: ADD M Аккумулятор ичидаги сонга массивдан
навбатдаги сон микдорини қўшиш.
080С D2 10 08 JNC TRM Агар кучириш булмаса TRMга ўтилсин.
080F 0C INR C С регистри кийматини биттага ошириш
0810 23 TRM: INX H Қўшилувчининг хисоблашининг кийма-
тини камайтириш.
0812 D2 0B 08 JNC CNT Агар хамма қўшилувчилар булмаса
CNT га утиш.
0815 С9 RET Кайтиш.
Сонларни қўшиш бир байтли массив сонини қўшиш натижасида икки байтли сонни ҳосил қилиш - MAIN қисм дастури (6-дастур)да кўрсатилган. Бунда ҳосил бўладиган йиғиндилар хотира адресларида кетма-кет жойлашган бўлиши керак. Кириш параметрлар ADD B қисм дастурнинг (7-қисм дастур) H, L регистрга ёзилганидир. MAIN дастурида кириш параметри бўлиб йиғинди хизмат қилади, бунда С регистрда ёзилган катта байт, кичиги эса аккумуляторда жойлашган.
Йиғиндилар ҳосил қилиш дастури алгоритми шундан иборатки, бунда хар бир элементнинг қўшилишидан кейин аккумуляторнинг тўлдирилиши аниқланади (холат аломати С), агар у маълум бўлса, унда С регистрида жойлашган сон биттага кўпаяди. Шундай қилиб, тўлдириш бирликлари қўшилиши натижасида катта байт йиғиндиси ҳосил бўлади.
Кичик-ЭХМ икки машина сўзилик ёки ундан катта узунликдаги иккилик сонлар билан арифметик амалларни бажариши мумкин. МП КИСда саккиз разрядли АЛК (Арифметик мантиқийк қурилма) бўлгани учун, бундай амаллар бир байт сонлар устида бажарилиб, кичик байтлардан бошлаб ижро этилиши керак. Шундай қилиб, 17F5+3411 сонларни қўшиш амали қуйидагича кўринишда бажарилади:
Катта байт С байроғи Кичик байт Сонлар
00010111 11110101 17F5
+ + +
00110100 00010001 3411
+1 1
01001100 00000110 4С05
6F5C - 13С5 сонларнинг айирма натижаси куйидаги куринишда ёзилади.
Катта байт С байроги Кичик байт Сонлар
01101111 01011100 6F5C
– – –
00010011 11000101 13С5
–1 –1
01011011 10010111 5В97
Келтирилган мисолдан кўринадики, кичик байтлардаги сонларнинг йиғиндисини (айирмасини) олишда ADD (SUB) буйруқни қўллаш лозим, қолганларини қўшишда (айиришда) ADC (SBB) буйруғи ишлатилиб, С регистр холатини ҳисобга олиш лозим.
8-дастур бир хил узунликка эга бўлган сонларнинг айирмасини топиш дастуридир. Бунда кириш параметрлари: С регистри - сонлар узунлиги (байтларда), H, L регистрлари - айрилувчининг кичик байти адреси, D,E регистрлари камаювчининг кичик байт адреси.
Ҳар бир сон хотира адресига кетма-кет кичик байтдан бошлаб ёзилади. Олинган натижа айирмага ажратилган хотира майдонига киритилади.
8-дастур
Адрес Маш. коди Белги Мнемокод Изох
0900 AF SBN: XRA A С регистр байроги ва аккумуляторни
тозалаш
0901 1A CNT: LDAX D Камаювчини аккумуляторга ёзиш
0902 9Е SBB M Айирилувчини аккумулятор
таркибидан айириб танлаш
0903 77 MOV M,A Айирмани айрилувчининг
ўрнига ёзиш.
0904 23 INX H Айрилувчининг кейинги байтига
мурожаат этиш.
0905 13 INX D Камаювчининг кейинги
байтига мурожаат этиш
0906 AD DCR C Хисобловчи курилмаси
таркибини камайтириш.
0907 С2 01 09 JNZ CNT Агар (сонининг катта байти) охирги
булмаса, унда CNT га утиш.
090А RNC Агар катта байт ва натижа
каррасиз булса, кайтиш.
Сонларни кўпайтириш
Сонларни кўпайтиришнинг бир неча алгоритми мавжуд. Биринчи алгоритмда кўпайтиришни бир неча бор қўшиш билан алмаштириш мумкин, масалан:
14*3=14+14+14
Бу усулнинг асосий камчилиги ҳисоблашнинг давомийлигидир (узоқ муддатлигидир).
Иккинчи алгоритмда кўпайтириш устун усулида амалга оширилади. Бу алгоритм иккилик сонларни кўпайтиришда ҳам қўлланилади, масалан:
Бит нинг
борлиги 1 га
йук тенг
Ха
Охирги бит ми йук
Ха
14-расм. Кўпайтириш амалини бажарувчи қисм дастурнинг алгоритми.
Иккинчи алгоритм буйича купайтириш натижасини хисоблашда албатта жамлаш бир неча кайталаб (узлуксиз)купаювчини чапга суриш ва шу билан бирга купайтувчининг кичик разряди томонидан бошлаб мавжуд даражасини текшириш асосида ўтказилади. Шу билан бир каторда кўпайтувчининг навбатдаги ёзуви 1 бўлса, кўпаювчи йиғиндиси қўшилади ва чапга 1 разрядга сурилади. Кўпаювчини суришни йиғиндини ўнгга суриш билан алмаштириш ҳам мумкин. Мана шу алгоритм ёрдамида (14-расм) икки бир байтли соннинг купайтмасидан 2 байтли натижа олиш куйидаги кисм дастур асосида бажарилади.(9-қисм дастур). Қисм дастур бошланғич адреси 09E1 кириш параметрлари: кўпаювчи D-регистрда, кўпайтувчи Е- регистрда. Кўпайтириш натижалари В,С регистрларига ёзилади.
9-қисм дастур
Адрес Маш. коди Белги Мнемокод Изох
09Е1 01 00 00 MPL LXI B,0000 В,С регистрларни ноллаш.
09E4 3E 01 MVI A,01 Разряд кўрсаткичини
акумуляторга юклаш
09E6 A7 ANA A Регистр байрогини тозалаш.
09Е7 F5 MPLI PUSH PSW Стекда разряд кўрсаткичини
сақлаб қолиш.
09E8 A3 ANA E Навбатдаги разряд кўпайтувчининг
таркибини текшириш.
09Е9 78 MOV A, B Аккумуляторга ҳамма байт
йиғиндисини юклаш
09ЕА CA EE 09 JZ MPL2 Агар навбатдаги разрядда 0
ёзилган бўлса,унда MPL2 ўтиш.
09ED 82 ADD D Купаювчини йиғиндига қўшиш.
09EE IF MPL2 RAR Йиғиндини ўнгга суриш
09EF 4F MОV B,A В регистрда акумулятордаги
сонни сақлаб қолиш.
09FO 79 MОV A, C Йиғинди кичик байтини
аккумуляторга юклаш
09F1 1F RAR Аккумулятордаги сонни ўнгга
суриш (С-катта байт)
09F2 4F MОV C,A C регистрга аккумулятор
таркибини ёзиш
09F3 F1 POP PSW Разряд кўсаткичини текдан олиш.
09F4 17 RAL Кейинги разряд кўрсаткичи
09F5 D2 E7 09 JNC MPL1 Агар разряд охири бўлса MPL1га ўтиш.
09F8 C9 RET Қайтиш.
15-расм. Иккита саккиз разрядли сонларни бўлиш қисм дастури алгоритмининг чизмаси.
Иккилик сонларни бўлиш, ҳар қандай ҳисоблаш тизимидаги сонлар каби ифодалангандек бўлувчидан бўлинувчини ва бўлинма қолдиқларидан кетма-кет айиришга асослангандир. Бироқ иккилик бўлиниш осонроў амалга оширилади, чунки унда фақат иккита рақамли ҳар бир бўлиш циклида бўлинувчи қолдиклардан бўлувчи сонни аниқлаш заруратига хожат ўолмайди, (факат улар бир-бирлари билан солиштирилади). Иккилик сонларни бўлиш алгоритми чизмаси 15-расмда келтирилган. Шу алгоритм бўйича 10-дастур тузилган. Шу дастурнинг кириш параметрлари бўлинувчи (Е регистрида) ва бўлувчи (D регистрида) бўлади; чиқиш параметрлари бўлинма (Н регистрида ) ва қолдиқ (С регистрида).
10-дастур
Адрес Маш. коди Белги Мнемокод Изоҳ
0900 21 0800 DIVB: LXI Н,0008 Битлар ҳисоблагичи тўлдирилсин
ва бўлинма Н регистр тозалансин.
0903 0E 00 MVI С,00 Бўлинма оралиқ регистри тозалансин.
0905 7B MXTB: MОV A,E Аккумуляторга бўлинувчини юклаш.
0906 17 RAL Катта байтни С разрядга суриш.
0907 5F MОV E,A Е регистрга бўлинувчини қайтариш.
0908 79 MОV A,C C регистрдан оралиқ бўлинма
аккумуляторга ёзилсин.
0909 17 RAL С разрядни кичик бит га суриш.
090A 92 SUB D Бўлинувчини аккумулятор сон
микдоридан айириб ташлаш.
090B D2 0F 09 JNC NOADD Агар С=1 бўлса, аккумуляторда сон миқдори ўз холига келтирилсин.
090E B2 ADD D Аккумуляторга бўлувчини қўшиш.
090F 4F NOADD: MОV C,A Натижа С регистрга қайтарилсин.
0910 3F CMC С разрядни инверсиялаш
0911 7C MОV A,Н Н регистрдаги бўлинмага
С разряддан сон микдорини қўшиш
0912 17 RAL Ўнгга сурилиш билан ёзиш.
0913 67 MOV H,A
0914 2D DCR L Барча разрядлар текширилганми?
0915 С2 05 09 JNZ MXTB Йўқ бўлса, давом эттириш
0818 CF RST 1 Ҳа бўлса, дастурни тўхтатиш.
1. МП КИС КР580ИК80нинг арифметик буйруқлар гурухини ўрганиб чиқкинг.
2. Аккумулятор ўнлик коррекцияси "DAA" буйруғи бажарилиши қоидалари билан танишиб чиқинг.
3. Юқорида келтирилган 6-10 дастурларни ўрганиб чиқинг. Аниқ сонли мисолда ҳар бир дастурнинг бажарилиш натижасини кўриб чиқинг.
4. 8 разрядли сонларда бўлиш дастури ва кўпайтириш қисм дастурларининг бажарилиш вақтларини бир-бири билан солиштириб кўринг.
5. Икки 8 разрядли сонларни қўшиш дастурининг натижасини иккилик-ўнлик кодида тасвирланувчи кўринишдаги дастурни ишлаб чиқинг.
1-топшириқ. Бир байтли сонларни қўшиш билан икки байтли натижа олиш дастурини текширинг.
Топширикни бажариш тартиби
1. Кичик-ЭҲМга 6-дастурни жойлаштиринг (киргизинг).
2. 0В00 адресидан бошлаб бешта сондан иборат бўлган кетма-кетликни кичик-ЭХМга ёзинг.
3. МП КИС аккумуляторига ва С регистрига ёзилган сонлар миқдори бўйича бажарилишини текширинг ва дастурни ишга туширинг.
4. 6-дастурни шундай ўзгартирингки, бунда бажарилган натижа 0В06 ва 0В07 адресларга ёзилсин. Унинг бажарилиш натижасини текширинг.
5. Дастурдаги қўшилувчилар сони кўрсаткичини ўзгартиринг ва дастурни қайтадан бажаринг.
2-Топшириқ. Бир хил узунликка эга бўлган, икки соннинг айрилиш дастурини текширинг.
Топшириқни бажариш тартиби
1. Кичик-ЭХМга 8 - дастурни жойлаштиринг.
2. D,E ва H,L регистрлари мос равишда камаювчи ва айрилувчиларнинг кичик байт адреслари ёзилсин. Айрилувчи ОХК майдонига ёзилиши керак. С регистрига байт узунлиги сони ёзилсин. Биринчи хол учун С регистрга 01 сони ёзилсин (бунда 8 разрядли икки сон айирмаси кузатилади).
3. Е,D ва H,L регистрига айрилувчи ва камаювчиларнинг адреслари ёзилсин. Бунда камаювчи миқдори айрилувчига нисбатан катта бўлмоғи керак.
4. 8 - дастурни ишга туширинг ва унинг бажарилиши натижасини айирма ёзилган адресдаги сондан бошлаб текширинг.
5. 8 - дастурни кўриниши бўйича шундай ўзгартирингки, иккита хар хил 2 разрядли соннинг натижаси ААЕ2 адресда ёзилсин.
6. H, L ва D, E регистрлар адресидаги сонларни шундай ўзгартирингки, камаювчи айрилувчидан кичкина бўлиши зарур.
7. 10 - дастурни ишга туширинг ва бунда нима бўлаётганини кўрсатинг (қадамли режимида).
3 - топшириқ. Икки 8 разрядли сонларни кўпайтириш билан 16 разрядли натижа олиш дастурини текшириш.
Топшириқни бажариш тартиби
1. 5 - бандга асосан уйда тайёрлаб келинган иккита сонни кўпайтириш дастурини кичик-ЭХМга киритиш.
2. В,С регистрларда ёзилган иккита сон бўйича қайта кўпайтириш натижасини текширинг ва дастурни ишга туширишни амалга оширинг.
4 - топшириқ. Икки 8 разрядли соннинг бўлиниш дастурини текширинг.
Топшириқни бажариш тартиби:
1. Кичик-ЭХМга 10-дастурни жойланг.
2. E ,D регистрига тегишли бўлган бўлувчи ва бўлинмани ёзинг.
3. Дастурни ишга туширинг ва H, L регистрларида бор бўлган маълумот бўйича иккита соннинг бўлинмасини текширинг.
Ҳисоботнинг мазмуни
Ҳисоботда қуйидагилар қайд қилиниши керак :
1. МП КИС КР580ИК80 арифметик буйруқлари тўғрисида тўлиқ маълумот.
2. Уйда тайёрлаш учун 3-банддаги топшириқга нисбатан ишлаб чиқилган, икки 8 разрядли сонни қўшишда, натижани иккили-ўнли код олиш дастури.
3. Уйда тайёрланиш учун 5-банддаги топшириқда ишлаб чиқилган, икки 8 разрядли сонни кўпайтириш натижасини текшириш учун дастур.
4. 2-топшириқда текширилган кўриниши ўзгартирилган 7-дастур.
5. Ҳамма топшириқлар бўйича арифметик амаллар бажарилганлигининг натижалари.
Ўз-ўзини текшириш машқлари
1. МП КИС КР580ИК80да қандай арифметик амаллар бажарилиши мумкин?
2. МП КИС DAA буйруғининг бажарилиш қоидасини изоҳлаб беринг.
3. Қандай буйруқлардан сўнг аккумуляторнинг ўнли коррекция сонини амалга ошириш мумкин (DAA буйруқни бажариш)?
4. Икки сон кўпайтмасининг қисм дастур бажарилиш максимал вақтини қандай баҳолаш керак (9–қисм дастур)?
5. 9-қисм дастурга асосан иккита сонни кўпайтиришни текшириш мумкинми?
6. Сонларни кўпайтириш ва бўлиниш қисм дастури алгоритмларнинг ишлари нимага асосланган ?
7. Иккили-ўнли кодда 0 дан 20 гача бўлган сонларни келтиринг.
8. МП КИС КР580ИК80 учун сонларни ифодалашнинг мумкин бўлган усулини кўрсатинг.
9. Агар МП КИС учун машина вақтининг давомийлиги (такти) Т = 1 мкс бўлса, иккита соннинг дастури бажарилишининг максимал вақтига бахо беринг.
МАЪЛУМОТЛАРНИ КИРИТИШ ВА ЧИқАРИШни ташкил этиш
Ишдан мақсад: Оддий киритиш - чиқариш қурилмаларининг уланиши ва массив маьлумотларини алмашишни ташкил қилиш усулларини текшириш; дисплей ва клавитурани МПТга улашнинг дастурий - аппарат усулини ўрганиш.
Қисқача назарий маълумотлар
МП КИС КР580ИК80да киритиш ва чиқариш буйруқларига IN(A1) ва OUT(A1) буйруқлари киради. IN(A1) буйруғининг бажарилишида кичик-ЭҲМга (А1)адресли қурилмадан маьлумотни ўқийди ва уни аккумуляторга ёзади. OUT(A1) буйруғининг бажарилишида МП КИС маьлумотни аккумулятордан олиб А1 адресли чақириш қурилмасига ёзади. Қурилманинг адреси бир байт асосида кўрсатилгани учун, бу буйруқлар ёрдамида кичик-ЭҲМ фақат 256 тадан ортиқ бўлмаган ташқи қурилмалар билан маьлумот алмашиш мумкин.
Оддий киритиш ва чиқариш қурилмалари сифатида 8-разрядли регистрларни қўллаш мумкин. (Масалан, кўп режимли буфер регистри К589ИР12).
Киритиш ва чиқариш қурилмаси сифатида бирмунча мураккаб схемаларни ҳам қўллаш мумкин, масалан маьлумотни кодда киритиш ва чиқаришнинг ташкил қилувчи дастурланувчи қурилма (КР580ИК55) КР589ИР12 (Д1) кўп режимли регистр қайта улагичлар асосида қурилган киритиш қурилмасининг кичик-ЭҲМга улаш схемаси 16-расмда келтирилган. Қайта улагич уланганда регистрнинг киришига "0" берилади, узилганда эса "1" берилади. Қайта уланган (переключатель)лар ташқи қурилмаларидан маьлумот узатишни ташкил қилиш учун ишлатилади. Регистрга ёзилган сонларни индикация қилиш учун (HL1-HL8) ёруғлик диодларни регистрга улаш мумкин. 17-расмда КР589ИР12 (Д1) схема асосида қурилган ташқи қурилмани кичик-ЭҲМга уланиш схемаси келтирилган. HL1-HL8 ёруғлик диодлар ташқи қурилмага ёзилган сон миқдорини кўрсатади. Киритиш қурилмасидан (20 адреси билан) чиқариш қурилмасига (30 адресли билан) сонни қайта ёзишнинг оддий дастури (11-дастур) қуйидаги кўринишга эга.
8-жадвал. 11-дастур
Адрес |
Машина коди |
Белги |
Мнемокод |
Изох |
0800 |
DB 20 |
CNT: |
IN 20 |
20 - адреслик киритиш қурилмасидан сонни аккумуляторга ёзиш. |
0802 |
D3 30 |
|
OUT 30 |
30 - адресли аккумулятордаги сон 30 адресли чиқариш қурилмасига ёзиш |
0804 |
С3 0008 |
|
JMP CNT |
CNTга бориш. |
16-расм. Киритиш қурилмасини кичик-ЭҲМга улаш схемаси.
17-расм.Чиқариш қурилмасини кичик - ЭҲМга улаш схемаси.
Маьлумотни қабул қилиш учун қулай бўлган чақириш қурилмаси сифатида кўпинча дисплей қўлланилади. 6 та ячейкадан иборат бўлган дисплейни улаш усулини кўриб чиқамиз. Бу ячейкаларда 8-та ёруглик-диоди умумий аноди билан битта корпусга ўрнатилган. Ҳар бир индикатор (3а-расм) сон сегментларини тасвирлаш учун 7 та ёруғлик-диодларидан иборат, 8 ёруғлик-диоди эса нуқтани тасвирлаш учун ишлатилади (18 б- расм).
18 - расм а) ташқи кўриниши. б) етти сегментли ёруғлик-диодлар матрица схемаси.
19- расм. Дисплей ячейкаларни номерлаш.
Дисплейни кичик-ЭҲМга улашда зарур бўлган схемотехника таъминотини камайтириш учун кўпинча индикаторларнинг мультиплексли иш режими қўлланилади. Бунда информацияни дисплейга чиқариш учун КР580ВВ55 КИС кўланилади. КР580ВВ55 КИСнинг 3 та 8-разрядли А,В,С канали мавжуд. КИС 3 хил иш режимида ишлайди. 0 , 1 , 2 режимлар. 0-режими А ва В каналларни дисплей ишини бошқариш учун маълумотларни чиқаришга мослаштиради, С каналини эса маълумотларнини қабул қилишга мослаштиради. 1 ва 2 режимлар бошқа максадда қўлланилади.
20-расм. Дисплей ва клавиатурани кичик-ЭҲМга улаш схемаси.
Бунинг учун бошқарувчи сўз (FB адресли) регистрига 89Н бошқарувчи сўз коди ёзилади. В канал орқали (F9 адрес) диод матрицасининг катодига ёруғлик кўриниши лозим бўлган рақамнинг коди узатилади. А канал орқали аниқ разрядни танлаш амалга оширилади. (20- расмга қаранг).
Индикаторнинг ҳар бир ячейкасини бир хил сегментлари умумий шина билан боғланган бўлиб, бу шина D1 ва D2 (K155 ЛА12) кичик схемаларнинг бирор бир чиқишига улангандир. Бу кичик схемаларнинг ҳар бири кучланиш қобилиятига эга бўлган 4та "2И-НЕ" элементидан таркиб топган. D1 ва D2 кичик схемалар В каналининг кучланиш қобилиятини кўпайтиради ва шина ташкил этувчи вазифасини бажаради. Индикаторнинг умумий анодлари А каналининг чиқишида VТ1-VТ6 транзистор коллекторларнинг бирортасига уланади. Тасвирлаш учун А ва В каналларига маълумот чиқариш иккита OUT буйруғи билан амалга оширилади. Масалан, В каналига 00000110 (06Н) сони чақирилганда ёруғлик матрица катодига тескари қийматлари 11111001 берилади, А каналига эса 0010 0000 сони чиқарилади VТ6 транзистор очилади ва ток +5B -VT6 -HG6 -b ва c-D1.2 ва D1.3-ер занжири орқали оқиб ўтади. Бунда ўнг томондаги индикаторда "1" ёнади. Агар энди ҳамма ячейкалар кетма-кет дастур орқали ёритилиши амалга оширилса ва бунда А канал орқали ёниш лозим бўлган ячейка танланса В канал орқали эса шу ёнадиган маьлумот коди етарлича тезлик билан ўчирилиб - ёқилиб турилса, у холда дисплей экранида аниқ маьлумот пайдо бўлади.
Дисплей ячейкасининг 6 индикаторига 6 рақамини чиқаришнинг оддий дастурини келтирамиз.(12-дастур).
9-жадвал. 12-дастур
Адрес |
Машина коди |
Белги |
Мнемокод |
Изох |
0800 |
3E 89 |
|
MVI A, 89H |
Бошқарув сўзини РУС (СWR)га юклаш. |
0802 |
D3 FB |
|
OUT СWR |
|
0804 |
3E 7D |
|
MVI A,7DH |
6 рақамининг кодини В каналга юклаш |
0806 |
D3 F9 |
|
OUT port B |
|
0808 |
3E 20 |
|
MVI A,20H |
индикатор номерини А каналга юклаш |
080A |
D3 F8 |
|
OUT port A |
|
080C |
76 |
|
HLT |
|
21-расмда К580ИК55 КИСни бошқариш учун буйруқлар форматининг кўриниши келтирилган. Керакли буйруқ кодини ва иш режимини танлаш(олиш) учун керакли разрядларга "1" ёки "0" ёзилади, хосил қилинган сон иккилик саноқ тизими кўринишидаги 8 разрядли сон бўлади ва шу сонни ўн олтилик рақам кодига ўтказиш керак. Шундан сўнг керакли буйруқ коди хосил бўлади, яъни хосил килинган код ёрдамида, керакли портни киритиш ёки чиқариш учун дастурлаш имкониятига эга бўламиз.
1 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0
|
Режим 0 |
0 |
0 |
Режим 1 |
0 |
1 |
Режим 2 |
1 |
0 |
Кириш |
1 |
|
1 |
Киритиш |
Чиқиш |
0 |
|
0 |
Чикариш |
Кириш |
1 |
|
0 |
Режим 0 |
Чиқиш |
0 |
|
1 |
Режим 1 |
21-расм. К580 ИК55 КИС га буйруқни белгиловчи режимларнинг формати
Дисплейнинг мультиплекс режимини ташкил қилиш.
Мультиплекс иш режимида дисплейнинг ҳар бир индикаторига маьлумот чиқариш кетма-кет амалга оширилади. Индикаторда рақам ёки символ вақт оралиғи қисм дастур ёрдамида қандайдир муддатга ёритилади. Индикаторларининг юқори частотада ўчиб-ёниши маълумотини рақамли дисплейда ёрқин тасвир ҳосил қилишга олиб келади.
Дисплейнинг мультиплекс режимини таъминловчи дастурнинг алгоритм схемаси 22-расмда келтирилган (13-дастур). Дисплейнинг ҳар бир ячейкасига чиқариш учун маълумот коди хотиранинг 0900 ... 0906 адресли кетма-кет ячейкаларида сақланади. Бунда дисплейнинг биринчи индикаторига чиқариш лозим бўлган рақам маълумот коди 0900Н адресига ёзилган. Вақт оралиғи қисм дастурнинг бошланғич адреси 0880Ндир.
Йўқ
Ҳа
|
10-жадвал. 13-дастур
Адрес |
Машина коди |
Белги |
Мнемокод |
Изох |
0800
|
3Е 89 |
|
MVI A,89H |
Бошқарув сўзи РУС (CWR)га юклаш |
0802 |
D3 FB |
|
OUT CWR |
Биринчи рақам адресини юклаш. |
0804 |
21 00 09 |
START: |
LXI H,0900 |
|
0807 |
AF |
|
XRA A |
Барча индикаторлар ўчирилсин. |
0808 |
D3 F8 |
|
OUT F8 |
|
080А |
0601 |
|
MVI B,01H |
Биринчи ёқиладиган индикатор разряди адресини юклаш. |
080С |
7Е |
STEP4: |
M0V A,M |
B портга тасвирланадиган рақам коди чиқарилсин. |
080D |
D3 F9 |
|
OUT F9 |
|
0812 |
СD 80 08 |
|
CALL DELL |
Рақамлар ёниш даврини чегаралаш қисм дастури чақирилсин. |
0815 |
78 |
|
MOV A,B |
Ҳамма маълумот чиқариб бўлинганми? |
0816 |
FE 20 |
|
CPI 20 |
|
0818 |
СА 04 08 |
|
JZ START |
Агар чиқариб бўлинган бўлса, унда иш дастур бошидан бажарилсин, агар шарт бажарилмаса, дастур ўз ишини давом эттирсин |
|
|
|
|
|
081В |
А7 |
|
ANA A |
Навбатидаги разряд адреси кўрсатилсин ва В регистрга ёзилсин |
081С |
17 |
|
RAL |
|
081D |
47 |
|
MOV B,A |
|
081E |
23 |
|
INX H. |
Рақамлар коди адреси оширилсин |
081F |
AF |
|
XRA A |
Ҳамма индикаторлар ўчирилсин. |
0820 |
D3 F8 |
|
OUT F8 |
|
0822 |
C3 00 08 |
|
JMP STEP4 |
STEP4 белгили дастурлар каторига ўтилсин. |
0825 |
76 |
|
HLT |
Тўхташ |
0880 |
DE OF |
DEL: |
MVI C, OFH |
OF рақам С регистрга юклансин. |
0882 |
16FF |
BACK: |
MVI D,FFH |
FF рақам D регистрга юклансин. |
0884 |
15 |
BACK1: |
DCR D |
D регистрдаги рақам микдори 0 тенг бўлгунга қадар иш бажарилсин |
0885 |
С2 84 08 |
|
JNZ BACK1 |
|
0888 |
0D |
|
DCR C |
OF марта иш қайтарилсин |
0889 |
C2 82 08 |
|
JNZ BACK |
|
088С |
С9 |
|
RET |
Рақамлар ёниш чегарасини тугатиш. |
Клавиатурани кичик-ЭҲМга улаш
Кичик-ЭҲМда клавиатура энг кенг тарқалган маьлумот киритиш ва бошқариш қурилмасидир. Клавиатура ёрдамида ОХКга дастур киритиш, кичик-ЭҲМ учун турли иш режимларни хосил қилиш (масалан кўрсатилган адрес ёрдамида дастурни ишга тушириш, дастур ишини тўхтатиш, дастурни машина иш цикли бўйича ишлатиш, МП КИС дисплейига регистрларга ёзилган маьлумотларни чиқариш ва бошқалар) мумкин.
Кичик-ЭҲМ ишлаб чиқкарувчи олдида турли холларда маьлумотларни клавиатура орқкали киритиш даврида, қуйидаги асосий масалаларни ечиш талаб этилади;
1) клавиатурада клавиша (тугма) ларнинг босилиш холатини аниқлаш:
2) босилган клавиш (тугма) рақамини қидириб топиш:
3) бошқаришни мос қисм-дастурга узатишни бажариш:
Кўрилаётган бўлимда биз асосан биринчи икки масала бўлган, маьлумотларни клавиатуралар орқали киритишга эьтиборни қаратамиз. Учинчи масала эса қоида бўйича дастур усули орқали ечилади. Клавиатурага n x m ўлчамли матрица кўринишдаги ташкил қилиш энг қулайдир, бу ерда n x m матрица қатор ва устуни мос равишда аниқлайди. Шу усулда кичик-ЭҲМга n x m клавиш улаш мумкиндир.
20-расмда келтирилган ўқув кичик-ЭҲМда дисплей ва клавиатура А ва С портларга улангандир. Шуни таъкидлаш зарурки А канал ҳам дисплейни ва ҳам клавиатурани бошқариш учун ишлатилади. С канал эса клавиатурани киритиш қурилмаси адреси FAN сифатида ўқувчи канал деб қабул қилинган.
Клавишанинг босилганлиги холатининг дастур орқали аниқланиши қуйидаги кетма-кет амаллар тартибидан иборат.
1. Чиқариш қурилмаси (А канал) разрядларига ноллар ёзилсин.
2. Кириш қурилмаси (С канал) разрядларига ёзилган маълумот ўқилсин.
3. Агарда қурилмаларига бирлар ёзилган бўлса, иш жараёни бошидан қайтарилсин. 14-дастур юқорида келтирилган алгоритм ёрдамида клавишалардан бирининг босилиш холатини аниқклаш билан, қайси клавиш босилгани кўрсатмайди.
22-расмда эса босилган клавиш рақамини аниқлаш алгоритми келтирилган. Бу алгоритм матрица клавиатураси устунларга кетма-кет нолларни ёзишга асослангандир. Кичик-ЭҲМда клавиша босилганини аниқланаётган, устунда нол борлигини билиш учун, клавиатура жойлашган устун тахлил қилинади. Агар қайси бир клавиш босилган бўлса, у холда унинг рақамини разряд номерида нол ёзилган жойининг аниклаш орқали билиш мумкин. Босилган клавиш рақами клавиатура устуни номерида ноль борлигига мос келади ва бу рақам кириш қурилмаси бўлган (С канал) разрядига нол ёзилган разряд рақамига тенгдир.
11-жадвал. 14-дастур
Адрес |
Машина коди |
Белги |
Мнемокод |
Изох |
0800 |
3Е 3F |
WAITK: |
MVI A,3F |
Аккумуляторнинг кичик олти разрядига 1 ёзилсин. |
0802 |
D3 F8 |
|
OUT F8 |
Клавиатуранинг ҳамма устунларига 0 чиқарилсин. |
0804 |
DB FA |
|
IN FA |
Клавиатура чиқишидан рақамли сон олинсин. |
0806 |
E6 74 |
|
ANI,74H |
Фойданилаётган разрядлар тозалансин |
0808 |
FE 74 |
|
CPI,74H |
Клавиатура чиқишида нол борми? |
080А |
СА 00 08 |
|
JMP NEXT |
NEXT адреси бўйича навбатдаги бажарилиши лозим бўлган жойга ўтилсин. |
Йўқ
Йўқ
Ха
Йўқ
Ха
22–расм. Кичик-ЭҲМ клавиши босилганини аниқлаш алгоритми.
Кўпинча маълумотларни товуш сигналлари кўринишда чиқариш талаб этилади. Бунинг учун кичик-ЭҲМда товуш сигналларини 23-расмда келтирилган оддий схема орқали хосил қилиш мумкин. Бу жараён схема киришига, кетма-кет "0" ва "1" ёзиш орқали амалга оширилади. Товуш сигналларини хосил қилиш қисм дастури 15-дастурда, шу дастур алгоритми 24-расмда келтирилган.
|
|
23- расм. Товуш сигналларини хосил килиш
24 расм. Товуш сигналларини чикариш алгоритми
12-жадвал. 15-қисм-дастур
Адрес |
Машина коди |
Белги |
Мнемокод |
Изох |
0А00 |
AF |
ВРР: |
XRA A |
Аккумулятор тозалансин. |
0А01 |
D380 |
|
OUT 80 |
Чиқиш қурилмасига ёзилсин |
0A03 |
CD 00 09 |
|
CALL DLY |
Вақтни чегаралаш қисм дастури чақирилсин. |
0A06 |
2F |
|
СMA |
FF коди аккумуляторга ёзилсин |
0А07 |
D3 80 |
|
OUT 80 |
FF коди чиқиш қурилмасига ёзилсин |
0А09 |
CD 00 09 |
|
CALL DLY |
Вақтни чегаралаш қисм дастур чақирилсин. |
0А00 |
09 |
|
RET |
Қайтиш. |
1. 20-расмда келтирилган клавиатура ва дисплейнинг кичик-ЭХМга уланиш схемаси билан танишинг.
2. Маълумотларни мультиплекс режимида дисплейга чиқарилишини ўқинг.
3. Клавиатуранинг босилган клавиш рақамини аниқлаш тамойилини ўқинг.
4. 11-15-дастурларни ўқиб ўрганинг.
5. Битта рақамли сонни дисплейнинг турли разрядларида мультиплекс равишда кетма-кет чиқариш дастурини ишлаб чиқаринг. Ҳар бир рақамнинг чиқариб ёритиш учун вақтни чегаралаш қисм-дастуридан фойдаланиш, вақтни чегаралаш нималарга боғликлигини аниқланг.
6. 13-жадвалдан ўз вариантингизга мос дастурни (13-дастурдан фойдаланиб ўз дастурингизни) яратинг ва текширинг.
13-жадвал
Вариант |
Дастур шарти
|
1 ва 12 |
1,2,3,4,5 индикаторларда ГОРОД сўзи 7 рақамли клавиш босилгандан сўнг ёритилсин. |
2 ва 13 |
3 рақамли клавиш босилганда ВЕСНА сўзи кетма-кет ёқилсин ва улар 1,2,3,4,5 индикаторларда учиб ёнсин. |
3 ва 14 |
В клавиши босилиши билан ГОРА сўзи 1,2,3,4 индикаторларда, бир секунддан сўнг эса 3,4,5,6 индикаторларда пайдо бўлсин. |
4 ва 15 |
А клавиши босилиши билан ЗОНА сўзи кетма-кет фақат бир индикаторда чиқарилсин. |
5 ва 16 |
4 клавиши босилиш билан БОРЬБА сўзи ҳар 0,5 сек давомида учиб ёниб турсин. |
6 ва 17 |
D клавиши босилгандан сўнг 1,2,3 индикаторларда, 250 мсек сўнг эса 4,5,6 индикаторларда ГОД сўзи чиқарилсин. |
7 ва 18 |
6 рақамли клавиша босилгандан сўнг РОЗА сўзи кетма-кет дисплей экрани бўйича ўнг томонга сурилиб ёниш дастури ишлаб чиқарилсин. |
8 ва 19 |
9 рақамли клавиша босилгандан сўнг АВАНГАРД сўзи кетма-кет икки индикаторда ёниб кўриниш дастури ишлаб чиқарилсин. |
9 ва 20 |
С клавишани кетма-кет босиш жараёнида 3,4,5,6 индикаторларда СЛОН сўзи чиқарилсин. |
10 ва 21 |
1 рақамли клавиш босилгандан сўнг 2,3,4,5,6 индикаторларда ВОЛНА сўзи чиқарилсин, сўзлар 1 сек оралиқда кетма-кет чиқарилиши зарур бўлиб, сўнгра улар 1 сек оралиқда ўчиб ёниб туриши зарурдир. |
11 ва 22 |
7 рақамли клавиша босилганидан сўнг, РАУНД сўзи 1,2,3,4,5 индикаторларда чиқарилиб ўнг томонга сурилиб ёқилсин, 8 рақамли клавиша босилганда эса шу сўз чап томонга сурилиб ёқилсин. |
Амалий ишларни бажариш учун топшириқлар
1-топшириқ. 1-дастур киритилсин.
Топширикни бажариш тартиби.
Кичик - ЭҲМ хотирасига 1 дастур киритилсин .
1.1. Дастур ишга туширилсин. Бешинчи дисплейда сегментларнинг ўгаришига эьтибор беринг, бунинг учун кириш қурилмасига берилаётган сон микдори ўзгартирилсин.
2-топшириқ. 13-дастур текширилсин.
Топширикни бажариш тартиби.
2.1. 13-дастур кичик-ЭХМ хотирасига ёзилсин
2.2. Дастур ишга туширилсин. Керакли клавиш босилсин ва унинг дисплейга чиқарилиши тўғрилиги текширилсин.
Ҳисоботнинг мазмун и
Хисобот қуйидагилардан иборат бўлиши зарур.
1. Индикатор сегментларга чиқарилаётган харф ва рақам кодлар жадвали.
2. Дисплей индикатори рақамига мос кодлар жадвали.
3. Ишлаб чиқарилган 13-дастур.
Мустақил тайёрланиш учун топшириқлар
1. 1,2,3,4,5,6 сонларни дисплейга чиқариш учун 0900-0905 адресларига қандай кодлар ёзилиши керак?
2. Агарда иккита клавиша бир вақтда босилса, қайси клавиша босилгани аниқланади, агар учтаси босилса-чи?
3. 12 ва 13-дастурлар шундай ўзгартирилсинки, клавиша рақамини аниқлаш доимий равишда амалга оширилсин.
4. Дисплей экранида маълумот текис силжиши(сурилиши) учун 13-дастурга қандай ўзгартиришлар киритиш зарур.
Адабиётлар
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
2 – Амалий машғулот. Оддий дастурларни ёзиш ва бажариш. ........ 26
3 – Амалий машғулот. Тармоқланувчи дастурларни ёзиш
ва бажариш. ......................................................................................... 35
4 – Амалий машғулот. Массив маълумотларида ниқоблашни
ташкил этиш. ....................................................................................... 35
5 – Амалий машғулот. Массив маълумотларида шартли
ўтишларни ташкил этиш. .................................................................. 35
6 – Амалий машғулот. Қисм дастур ва стек. ...................................... 43
7 – Амалий машғулот. Арифметик амалларни бажариш. .................... 49
8 – Амалий машғулот. Маълумотларни киритиш ва чиқаришни
ташкил этиш. ...................................................................................... 60
Адабиётлар ......................................................................................... 76