You are on page 1of 25

7.5.

Bashkesia e instruksioneve
Bashkesia e instruksioneve te mikroprocesorit 8085 eshte e perbere nga 246 instruksione, por per fillim
do te njihemi me vetem 40 instruksionet me te rendesishme. Per secilin instruksion te theksuar jane
dhene informata ne vijim: efektin qe e shkakton ai instruksion, kodi operues, madhesia e instruksionit e
shprehur ne numra te bajteve dhe menyra
e zbatueshme e adresimit. Gjithashtu, pas sqarimit te instruksionit eshte dhene nje shembull i vogel i
nxjerre nga ndonje program te asamblese. Ne keto shembuj jane dhene informacionet ne vijim:
 Adresa e lokacionit te memories e krijuar ne sistemin heksadecimal (nje shifer ne sistemin
heksadecimal eshte ekuivalente me kater shifra te sistemit binar te numrave).
 Permbajtja e lokacionit te memories e cila eshte paraprakisht e adresuar.
 Instruksioni i krijuar ne asamble
 Komentimi

7.5.1. Instruksionet per bartjen e te dhenave


Me nje bartje mund te bartet informacion vetem prej nje bajti. Te keto instruksione paraqitet shprehja
burim (source) dhe cak (destination). Nga burimi merret e dhena dhe vendoset ne cak. Bartje te dhenash
mund te kryhet ne relacionin regjister-regjister, regjister-lokacion i memorie ose lokacion i memories-
regjister. Nepermjet instruksionit te asamblese nuk mund te kryhet bartje direkt nga nje lokacion i
memories ne tjetrin, me fj ale te tjera, e dhena nga lokacioni i pare domosdo duhet te hidhet ne ndonje
regjister ne mikroprocesor, e pastaj nga mikroprocesori ne lokacionin e dyte. Gjate bartjes e dhena nuk
ndryshon. Eshte interesante te theksohet se pas kryerjes se transferimit permbajtja e burimit te dhenes
mbetet i njejte me permbajtjen e cakut. Ne fakt, mund te themi se ne vend te bartjes bejme kopjim te
dhenes. Perseri, si terminologji nuk perdoret fj ala kopjim por fj ala bartje-transmetim.

Shkronja D eshte shkronja e pare e fj ales angleze destination qe ne perkthim do te thote qellim,
destinacion. Te ky instruksion destinacion per te dhenen paraqet ndonje regjister i pergjithshem, kodi
tre bitesh DDD i te cilit percaktohet me ane te tabeles 7.1.
7.5.2. Instruksionet aritmetike
Ne menyre harduerike mund te kryhen dy operacione aritmetike: mbledhja dhe zbritje. Gjate
ekzekutimit te ketyre operacioneve njeri nga operatoret ndodhet ne akumu lator, tjetri ne nje tjeter
regjister te mikroprocesorit. Gjithashtu, pas ekzekutimit te instruksionit, rezultati i fituar shkruhet ne
akumulator me cka humbet njeri nga operatoret.
7.5.3. Operacionet logjike
Ne fakt, me kete sekuence te instruksioneve kryejme operacionin logjik „NAND” mbi permbajtjen e
lokacioneve me adrese 8250Н dhe 8251Н dhe rezultati i fituar e shkruajme ne lokacionin me adrese
8252Н.

7.5.4. Instruksionet per rotacion


Sipas drejtimit, ekzistojne dy lloje rrotullimesh: rotacioni ne te majte dhe ne te djathte. Ne varesi te asaj
se a eshte kycur fl amuri C, rotacioni mund te jete nepermjet fl amurit C ose pa te. Te te gjitha
instruksionet per rotacion behet rotacioni i permbajtjes se akumulatorit dhe as nje regjister tjeter.
Ekzistojne dy instruksione per rotacion ne te djathte.
ROL (Rotate Left) – Rotacioni ne te majte do te thote zhvendosje te gjithe biteve ne te majte, pra biti me
ne te majte dhe me me peshe kryen rotacion dhe dergohet ne vendin e bitit pa peshe, bitit me ne te
djathte. Ky instruksion eshte treguar ne fotografin 7.10.
Figura 7.10. Rotacioni i akumulatorit ne te majte

RRC (Rotate Right Carry) Rotacioni ne te djathte me ane te fl amurit (carry) do te thote zhvendosja e
biteve ne te djathte per nje vend, ashtu qe me i djathti, biti pa peshe hyne ne fl amurin C ndersa vlera e
fl amurit C dergohet ne vendin e bitit pa peshe, biti me ne te majte. Kjo eshte paraqitur ne fotografin
7.11.

Figura 7.11. Rotacioni i akumulatorit ne te djathte

7.5.5. Instruksionet per kercim (jump-skok)


Dallojme kercime me kusht dhe pakusht. Kur mikroprocesori do te pranoj instruksion per kercim
pakusht, ai kercen direkt ne lokacionin e memories adresa e te ciles eshte shenuar no instruksion. Te
kercimet me kusht, qe te kryhet nje kercim, eshte e nevojshme qe paraprakisht te plotesohet ndonje
kusht (p.sh, njeri nga fl amujt te jete ne nivel te larte).
Kjo sekuence e programit perdoret per arritjen e efektit „drite e levizshme” tek ekrani i perbere nga 8
fusha.

Ne kete sekuence programore kryhet krahasimi ndermjet permbajtjes se regjistrave dhe nese keto dy
permbajtje jane te barabarta do te kemi kercim.
Kjo sekuence programore, ne fakt paraqet numerues, vlera e te cilit ne cdo hap zvogelohet per nji.

7.5.6. Instruksione per pune me nenprograme


Nen program domethene nje teresi e pavarur programore e cila kryen funksion te caktuar. Keto nen
programe mund ti perdorim ne disa programe kryesore.
RET – Ky instruksion shenon fundin e nen programit te thirrur dhe kthim ne nen programin kryesor.
HLT (halt) – Ky instruksion cdohere duhet te jete instruksioni i fundit ne program qe mikroprocesori te
pergatitet drejt per ekzekutimin e programit. Pa kete instruksion, mikroprocesori do te tentoj qe te
interpretoj permbajtjen dhe ne lokacionet e ardhshem te memories dhe atehere mund te vije deri te
kaosi.
7.5.7. Instruksionet per pune te stak memories
Keto instruksione perdoren kur duam te kalojme nga programi kryesor ne ndonje nen program.
Akumulatori dhe regjistri i statutit i jepen ne dispozicion nen programit.
Para se te nis ekzekutimi i nen programit, vlera e ketyre dy regjistrave duhet te ruhet, sepse ato do te
jene te nevojshme kur mikroprocesori do te kthehet ne programin kryesor. Vlera e akumulatorit dhe
statut regjistrit vendosen ne kulm te stakut. Kur mikroprocesori te mbaroj me nen programin, ato do te
kthehen perseri te mikroprocesori.
PUSH PSW – Vlera e akumulatorit dhe statut regjistrit vendosen ne kulm te stakut.
7.6. Shkrimi i programeve per mikroprocesorin 8085

Pas cdo instruksioni, njeri nga regjistrat e pergjithshem do ta ndryshoj permbajtjen e tij. Te numri i
madh i instruksioneve ai ne fakt eshte akumulatori (LDA, STA, ADD, SUB, ANA, ORA, CMA, ROL, RRC), por
mund te jete edhe ndonje regjister tjeter (INC r, DCR r, MOV r1,r2 MVI r,data). Ne shembujt ne vijim pas
ekzekutimit te cdo instruksioni vertetohet permbajtja e regjistrave te pergjithshem te perdorur.

Shembulli 7.20: Jane dhene permbajtjet e regjistrave А=76Н dhe B=D4H .Llogarit permbajtjen e tyre pas
ekzekutimit te instruksioneve ne vijim:

AND B
CMA
DCR B

Zgjidhje:
Mbi permbajtjen e regjistrave А= 01110110В, В=11010100Н zbatohet operacioni logjik DHE.
Zgjidhje:
Ne kete shembull eshte me rendesi te dihen formatet e instruksioneve te instruksioneve te zbatuara.
Nese instruksioni aktual eshte i formatit te pare, atehere ne permbajtjen e numeruesit te programeve
shtohet nje per te fituar adresen e instruksionit te ardhshem.
Nese instruksioni aktual eshte i formatit te dyte, atehere shtohet dy, nese eshte i formatit te trete
shtohet tre.
Pas mbarimit te ekzekutimit te sekuences programore te dhene, vlera e numeruesit te programeve
eshte 8008Н.

7.6.1. Softueri per rregullimin e trafikut te nje udhekryqi te thjeshte


Te gjithe kemi verejtur se me cfare dinamike ndizen dritat e semaforit. Pas drites se kuqe se bashku
ndricojne e kuqja dhe e verdha dhe pastaj ndricon e gjelber. Pas ngjyres se gjelber ndricon vetem e
verdha qe pastaj te ndricoj e kuqja. Sa i perket semaforit per kembesore drita e gjelber ndricon vetem
kur ne semaforin per automjete ndricon drita e kuqe. Qe te mbulohet i gjithe udhekryqi, eshte i
nevojshem edhe nje sistem i ketille qe do te vendosej ne menyre diagonale me sistemin e paraqitur ne
fotografin 7.12.
Programi qe perdoret eshte i perpiluar prej dy pjeseve. Pjesa e pare eshte me madhesi prej 6B dhe i
permban te dhenat qe duhet te barten ne porten dalese. Pinat e portes dalese jane te lidhur me dritat e
semaforit dhe kur ne pine te vij njishe logjik drita do te ndricoje.
LIGHT_LOC paraqet emer simbolik, tiketa per adresen e lokacionit te pare ne te cilen eshte vendosur e
dhena e pare.
Verejtje: Nese simulimi juaj nuk permban tiketa, atehere jepni adresen si numer 16-bitesh ose numer
katershifror heksadecimal.

Pjesa e dyte e programit i permban instruksionet qe duhet t’i bartin te dhenat nga pjesa e pare tek
pinat dales. Ne fillim, me te dy instruksionet MVI futet adresa e bajtit te pare nga pjesa e te dhenave te
regjistrit cift HL. Me instruksionin MOV А,М adresa nga cifti HL dergohet ne memorie, gjendet bajti i
deshiruar dhe vendoset ne akumulator. Me instruksionin CALL DOCNI 1 min. Mbahet permbajtja e
akumulatorit per nje minute aq sa duhet te ndricoje drita e kuqe dhe e gjelber. Nese nuk thirret ky nen
program, permbajtja e akumulatorit shume shpejt do te ndryshoj (per kohen prej disa ns) qe nuk eshte
kohe e mjaftueshme per tu ndezur dritat e semaforit. Ne hapin e radhes (INX H) permbajtja e cift
regjistrit rritet per nje, me c’rast e fitojme adresen e bajtit te dyte 01010011 nga pjesa e te dhenave.
Procedura e bartjes se bajtit nga memoria ne akumulator, e me tej deri te porta dalese perseritet
gjashte here (per cdo bajt ne vecanti te pjeses se te dhenave). Ne fund, me instruksionin JUMP VRTI e
gjithe kjo perseritet, perkatesisht ne semaforin S1 do te ndrit drita e gjelber dhe ne S2 drita e kuqe.
7.6.2 Krahasimi i kodeve
Ne porten dalese te kompjuterit jane lidhur 8 led dioda. Diodat jane jeshile dhe te kuqe, te radhitura
drejt njera afer tjetres.

RGRGRGRG G-green
R-red

Diodat ndricojne nese ne pinat e tyre dergohet njishe logjik. Ne porten hyrese te llogaritesit paralelisht
jane lidhur 8 nderpreres. Nese nderpreresi eshte i mbyllur, atehere pini lidhet me masen dhe kemi
gjendje te zeros logjike, kur ai eshte i hapur pini eshte i lidhur ne furnizim dhe kemi gjendje te njeshit
logjik. Kombinacioni 8-bitesh i portes hyrese krahasohet me permbajtjen e lokacionit te memories me
adrese 8250. Nese te dy bajtet jane te njejte, atehere rezultati eshte zero dhe aktivizohet fl amuri ZERO.
7.7. Komponentet integrues per sistemet e mikrokompjutereve 8085
Me paraqitjen e mikroprocesorit 8085, „Intel” paraqiti dizajne te reja te komponenteve integruese, qe
ishin komplet ne pajtueshmeri me mikroprocesorin 8085. Keto komponente integruese ndermjetesojne
ne komunikimin e mikroprocesorit me pajisjet periferike. Ato jane te njohur me emrin kontroler, sepse e
kontrolloj bartjen e te dhenave nga pajisjet periferike deri te mikroprocesori ose te kunderten. Shume jo
praktike do te ishte lidhja direkt e mikroprocesorit me pajisjet periferike. Nderfaqe-komponentet mund
te jene te programuara dhe te pa programuara. Komponentet e programuara permbajne disa bajt
memorie ( nje ose me shume), permbajtjen e te cilave e cakton vet programuesi. P.sh, ekziston bit qe
percakton se tete pinat e portes A te nderfaqe – komponentesh te jene hyrese apo dalese (njeshi per
hyrje ose zero per dalje). Gjate lidhjes se pajisjeve hyrese me mikroprocesorin duhet te sigurohet bufer i
te dhenave. Buferi ben lidhjen e pajisjeve periferike me magjistralen e te dhenave te mikroprocesorit
vetem
gjate kohes se instruksionit IN. Buferet mund te jene pjese e nderfaqe-komponenteve te programuara
ose te jene qarqe te vecanta integruese. Gjate lidhjes se pajisjeve dalese me mikroprocesorin perderen
latch te cilet duhet te zgjasin kohezgjatjen e te dhenave me shume se kohezgjatja e instruksionit OUT.
Kjo procedure eshte e domosdoshme nese dihet se instruksioni zgjat me pak se 100ml. Shpesh latch
ndodhet ne brendesin e nderfaqe-kontrolereve.
7.7.1. Nderfaqja-komponente 8212
8212 eshte i thjeshte, perdorim shumekahesh, komponent e pa programuar dhe perdoret ne cdo sistem
mikroprocesoresh 8085. Ky qark integrues mund te perdoret edhe per perdorim lokal ne sisteme tjera.
Ajo eshte e thjeshte sepse ben vetem bartjen e te dhenave nga e majta ne te djathte.

Pinat e komponentes 8212


Ne fotografin 7.13. eshte paraqitur pine-diagrami i komponentit 8212.
 Tete pinat DI (Data In) sherbejne per hyrje te dhenave nga mikroprocesori ose nga paisja periferike,
ndersa pinat DO (Data Out) sherbejne vetem per dalje te dhenave nga komponenti 8212.
 STB (Strobe) eshte pine hyres dhe nepermjet tij mikroprocesori ose pajisja periferike lajmerojne bartje
te dhenash per komponentin 8212. Nese komponenti punon ne regjimin e strobes, atehere pa STB= 1
linjat hyrese te se dhenave nuk do te mund te pranojne te dhena.
 CLR (Clear) sherben per risetim te tete flip-flopeve me takt ne brendesi te komponentit 8212.
 INT eshte pine dales dhe sherben per gjenerimin e nderprerjes se mikroprocesorit 8085.

Figura 7.13. Pine diagrami i komponentit 8212


Figura 7.14. Radhitja e dergimit te dhenave ne komponentin 8212

Kur 8212 punon si port hyres (pranon te dhena nga ndonje pajisje periferike hyrese dhe i dergon deri te
mikroprocesori), atehere radhitja e dergimit te sinjaleve eshte si vijon.
Pajisja hyrese e aktivizon pinin per lajmerim (strobe). Pas marrjes se lajmerimit, 8212 e hap porten
hyrese te dhenave DATA IN dhe te dhenat hyne ne 8212. Ne 8212 te dhenat mbesin deri sa 8212 te
kerkoj nderprerje nga mikroprocesori me aktivizimin e pinit INT. Nese mikroprocesori lejon nderprerje,
atehere aftesohet porta dalese e te dhenave (DATA OUT) dhe perfundimisht te dhenat arrijne ne
mikroprocesor. Ne fotografin 7.14. eshte treguar lidhja e kontrolerit 8212 kur ai punon si port hyrese.
Me rrathe eshte shenuar radhitja e dergimit te sinjaleve.

7.7.2. Komponente e programuar 8255


8255 eshte nderfaqe-komponente e programuar. Ajo nuk ka mikroprocesor dhe RAM memorie per te
ekzekutuar programe softuerike, por ka regjister komandash permbajtjen e te cilit e vendos vet
programuesi. Kjo komponente gjen zbatim ne shume sisteme te mikroprocesoreve, sic jane sistemet e
Pentium mikroprocesoreve. Kontroleri 8255 perdoret per lidhje te kompjuterit personal me tastieren
dhe me printerin. Ne fotografin 7.15 eshte paraqitur pine-diagrami e kontrolerit 8255.
Komponenti 8255 programohet nepermjet regjistrit te komandave. Regjistri i komandave eshte regjister
8-bitesh dhe duke e rregulluar permbajtjen e tij, programuesi vendos se ne cfare regjimi do te punojne
portat e kontrolerit. Te kujtohemi se ekzistojne kater regjime te bartjes: i thjesht, strobe, regjimi i
pershendetjes dhe regjimi i pershendetjes te dyfishte.
Figura 7.16. Pershkrimi i funksioneve te biteve te regjistrit per komanda te komponentit 8255

Porta A mund te jete hyrese, dalese ose porte dydrejtimeshe dhe te punoj ne regjimin e thjesht ose
strobe. Porta B mund te jete hyrese ose dalese (por jo edhe dydrejtimeshe) dhe mund te punoj ne
regjimin e thjesht ose strobe.
Porta C mund te jete porte shfrytezuese ose kontrolluese. Porta C mund te jete port shfrytezuese vetem
kur portat A dhe B punojne ne regjimin e thjesht. Atehere mund te zgjedhim se si te jene pinat e PC,
hyrese apo dalese. Nese cilado porte, A ose B, nuk punon ne regjimin e thjeshte, atehere porta C do te
jete kontrolluese dhe pinat e saj do te perdoren per bartje te sinjalit per lajmerim dhe vertetim. Ne
fotografin 7.16. eshte treguar permbajtja e regjistrit te komandave dhe rendesine e secilit bit te saj.
Nese porta C eshte kontrolluese, atehere nuk ka rendesi qe biti i trete dhe zero te regjistrit per komanda
jane 0 ose 1. Atehere ato i shenojme me X, gjendje e pa definuar. Gjithashtu edhe biti i katert do te jete
me X nese PA eshte dy drejtim.

Shembulli 7.23: Cakto permbajtjen e regjistrit te komandave te komponentit 8255 nese porta A eshte
dy drejtim, porta B eshte hyrese dhe punon ne regjimin e thjeshte.
Zgjidhje:
Figura 7.17. Permbajtja e regjistrit te komandave kur porta A eshte dy drejtim dhe porta B eshte hyrese
dhe strobe

Porta C eshte kontrolluese, sepse porta A nuk eshte ne regjimin e thjeshte. Kur porta C shfrytezohet si
port e kontrollit, atehere ne vend te informacionit te nevojshem, pinat e saj do te bartin sinjale te
kontrollit. Ato jane sinjale me ane te se cileve lajmerohet bartja e te dhenave te nevojshme ne portat A
dhe B dhe ne magjistralen e te dhenave. Pervec lajmerimit per bartje, ekzistojne sinjale te kontrollit me
ane te cilave vertetohet pranimi i dergeses se te dhenave. Ne tabelen 7.2. jane dhene shenjat e te gjitha
sinjaleve te kontrollit nga porta C per te gjitha regjimet e bartjes te portave A dhe B.
Ne fotografin 7.18. eshte paraqitur diagrami kohore e sinjalit kur njera nga te dyja portat A ose B punon
si porte hyrese.

You might also like