+ All Categories
Home > Documents > Lucrarea nr.11 PREZENTAREA MACHETEI DE …vega.unitbv.ro/~nicolaeg/ELA-IM -MIAIA...

Lucrarea nr.11 PREZENTAREA MACHETEI DE …vega.unitbv.ro/~nicolaeg/ELA-IM -MIAIA...

Date post: 18-Jun-2018
Category:
Upload: vukhuong
View: 218 times
Download: 0 times
Share this document with a friend
12
PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80 85 Lucrarea nr.11 PREZENTAREA MACHETEI DE LABORATOR CU MICROPROCESOR Z80 1. Scopurile lucrării - cunoaşterea denumirii părţilor componente (plăci, module, circuite, dispozitive etc), a rolului şi locului acestora în configuraţia hardware a machetei de laborator; - prezentarea conexiunilor principale dintre părţile componente ale machetei de laborator; - înţelegerea noţiunilor de bază privind programarea în limbaj de asamblare; - explicarea modului de lucru cu macheta de laborator. 2. Descriere hardware Macheta de laborator cu microprocesor Z80 este o machetă didactică şi într-o accepţiune mai largă poate fi denumită ca “sistem cu microprocesor”. Cu ajutorul ei se pot realiza diverse experimente ce vor fi studiate în cadrul lucrărilor de laborator următoare sub forma unor aplicaţii atractive, instructive şi destul de uşor de realizat practic. Macheta cuprinde două părţi principale: Placa MPF1-B (Microprofessor Board), Placa de Aplicaţii (Multi Applications Board). 2.1 Placa MPF1-B (Microprofessor Board) Pe placa MPF1-B sunt dispuse ca în fig. 1 următoarele: 1. U1 - CPU (Unitatea Centrală de Procesare): microprocesor Zilog Z80, cu 158 instrucţiuni de programare, frecvenţa maximă de clock 2.5 MHz. Clock-ul sistemului este de 1.79 MHz. 2. U6 - ROM (Read Only Memory): un chip EPROM 2764, capacitate totală 8 Kbytes (6 Kbytes disponibili). Zona de adrese ROM: 0000-17FFH. 3. U8 - RAM (Random Access Memory): un chip de RAM static 6116 de 2 Kbytes. Zona de adrese RAM: 1800-1FFFH. 4. U7 - Extensia de memorie: un chip de EPROM tip 2732 sau 2764, ori un chip de RAM static tip 6264. Zona de adrese pentru extensia de memorie: 2000- 3FFFH.
Transcript

PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80

85

Lucrarea nr.11

PREZENTAREA MACHETEI DE LABORATOR CU MICROPROCESOR Z80

1. Scopurile lucrării - cunoaşterea denumirii părţilor componente (plăci, module, circuite, dispozitive etc), a rolului şi locului acestora în configuraţia hardware a machetei de laborator;

- prezentarea conexiunilor principale dintre părţile componente ale machetei de laborator;

- înţelegerea noţiunilor de bază privind programarea în limbaj de asamblare;

- explicarea modului de lucru cu macheta de laborator.

2. Descriere hardware Macheta de laborator cu microprocesor Z80 este o machetă didactică şi într-o accepţiune mai largă poate fi denumită ca “sistem cu microprocesor”. Cu ajutorul ei se pot realiza diverse experimente ce vor fi studiate în cadrul lucrărilor de laborator următoare sub forma unor aplicaţii atractive, instructive şi destul de uşor de realizat practic.

Macheta cuprinde două părţi principale:

• Placa MPF1-B (Microprofessor Board),

• Placa de Aplicaţii (Multi Applications Board).

2.1 Placa MPF1-B (Microprofessor Board)

Pe placa MPF1-B sunt dispuse ca în fig. 1 următoarele:

1. U1 - CPU (Unitatea Centrală de Procesare): microprocesor Zilog Z80, cu 158 instrucţiuni de programare, frecvenţa maximă de clock 2.5 MHz. Clock-ul sistemului este de 1.79 MHz.

2. U6 - ROM (Read Only Memory): un chip EPROM 2764, capacitate totală 8 Kbytes (6 Kbytes disponibili). Zona de adrese ROM: 0000-17FFH.

3. U8 - RAM (Random Access Memory): un chip de RAM static 6116 de 2 Kbytes. Zona de adrese RAM: 1800-1FFFH.

4. U7 - Extensia de memorie: un chip de EPROM tip 2732 sau 2764, ori un chip de RAM static tip 6264. Zona de adrese pentru extensia de memorie: 2000-3FFFH.

PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80

86

Fig. 1. Aşezarea componentelor pe placa MPF1-B

PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80

87

5. Porturile I/O: o U14 - Portul I/O programabil 8255, cu 24 linii de I/O paralel, este

folosit pentru scanarea tastaturii şi pentru controlul afişajului cu LED-uri tip 7 segmente. Adresele 00-03H.

o U10 - Portul programabil Z80-PIO, cu 16 linii de I/O paralel, disponibil pentru programarea conform diferitelor aplicaţii posibile. Adresele 80-83H.

o U11 - Circuit Contor-periodizator programabil Z80-CTC, cu 4 canale contor-periodizator independente. Adresele 40-43H.

6. L1…L6 - Afişaj tip 7 segmente, 6 cifre, LED-uri roşii. Primele 4 celule sunt destinate afişării adresei unei locaţii de memorie, iar celelalte 2 sunt pentru afişarea datei conţinute în acea locaţie. Ambele valori se afişează în format hexazecimal. În prezentul îndrumar aceste două zone ale afişajului vor fi numite "câmpul de adrese" şi "câmpul de date".

7. Tastatura: 36 taste, incluzând 19 taste de funcţii, 16 taste hexazecimale şi 1 tastă definibilă de către utilizator.

8. SP1 - Difuzor şi circuit de comandă pentru difuzor: un difuzor de 1.5" diametru disponibil pentru aplicaţii-utilizator.

9. Zona-utilizator: o zonă de 3.5" x 1.36" wire-wrapping este disponibilă pentru aplicaţii-utilizator.

10. Interfaţa pentru bandă audio: poate fi conectată la orice casetofon, sau poate fi folosită pentru interconectarea plăcii MPF-1B cu un IBM-PC (necesită opţiunea de transfer HEX din ROM şi cablu).

2.2 Placa de Aplicaţii (Multi Applications Board)

Componentele Plăcii de Aplicaţii, dispuse ca în fig. 2 sunt următoarele:

1. LED OUTPUT (D4÷D11) – sistem de afişare cu 8 LED-uri (Light Emitting Diode în limba engleză, adică diodă electroluminiscentă). Starea LED-urilor reflectă starea celor 8 biţi ai portului B. Astfel, LED aprins indică starea “1” logic.

2. DAC (Digital-to-Analogue Converter) – convertor digital-analogic (U8). DAC transformă un cod numeric într-o tensiune electrică analogică. Intrarea digitală a DAC este furnizată de portul A.

3. BARGRAPH –U10 – sistem de afişare cu bare luminoase (LED-uri). Prin acţionarea comutatorului SW4D, ieşirea DAC se conectează la circuitul de comandă al LED-urilor componente ale bargraphului. În funcţie de nivelul tensiunii de la ieşirea DAC, se luminează un număr oarecare de LED-uri.

4. ANALOGUE INPUT (surse analogice). Cu ajutorul unui comutator cu 4 poziţii (SW3) intrarea convertorului ADC(Analogue-to-Digital Converter) poate fi alimentată din 4 surse:

o extern (EXT);

o de la ieşirea unui fotorezistor (LDR – Light Dependent Resistor);

PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80

88

o de la un senzor de temperatură (TEMP);

o de la o tensiune variabilă de pe placă (VOLT).

Ieşirea DAC se poate vizualiza cu ajutorul unui afişor cu bare cu 10 segmente (10 LED-uri).

5. HEATER (încălzitor) este format din elementul de încălzire R12 (rezistor bobinat). Se foloseşte în controlul temperaturii. Alimentarea rezistorului R12 de la tensiunea nestabilizată de 9V se face prin acţionarea comutatorului SW4C din MODE SWITCHES. Funcţionarea încălzitorului este semnalizată cu ajutorul LED-ului HEATER.

6. POWER (alimentare). Placa se alimentează de la o sursă nestabilizată care trebuie să debiteze o tensiune de 9V c.c. la un consum maxim de 1A. Din această tensiune se obţine prin stabilizare (U12) tensiunea principală de +5V. Unele circuite analogice necesită şi –5V, tensiune care se obţine cu ajutorul unui convertor c.c.-c.c. (U13).

7. MODE SWITCHES (comutatoarele modului de lucru) este alcătuit din două grupe de comutatoare cu ajutorul cărora se controlează funcţiile plăcii. Poziţionarea lor se va descrie ulterior.

8. OUTPUT SWITCHES (comutatoarele de ieşire) permit fie citirea de către microprocesor a stării celor 8 biţi ale comutatorului SW1, de tipul DIL (Dual-In-Line), fie schimbarea stării la biţii A03 sau A04 ai portului A.

9. ADC (Analogue-to-Digital Converter) – convertor analog-digital pe 8 biţi (U2). ADC este un circuit care transformă o mărime analogică (de regulă o tensiune electrică) într-un număr binar. Semnalul de la intrarea ADC este selectată cu ajutorul comutatorului SW3 din ANALOGUE INPUT.

10. MOTOR (motor de c.c., 0- 8000 rot/min) se alimentează din tensiunea nestabilizată de 9V. Se poate roti în ambele sensuri. Sensul de rotire se alege prin programare (biţii 6 şi 7 ai portului B).

Fluxul de informaţii (conexiunea logică) între elementele Plăcii de Aplicaţie se prezintă în fig. 3. Pe această figură, în afară de elementele descrise mai apar PORT A OUTPUT şi PORT B INPUT.

Portul de ieşire al microprocesorului se conectează la portul A de pe Placa de Aplicaţii (PORT A OUTPUT). Starea celor 8 linii se afişează cu ajutorul a 8 LED-uri (LED OUTPUT). În funcţie de starea comutatoarelor de pe Placa de Aplicaţii, acest port se poate utiliza în controlul unui motor de c.c. (rotire într-un sens sau altul) şi/sau a unui încălzitor.

Când nu se foloseşte în comenzile de mai sus, portul de ieşire se utilizează la comanda convertorului digital-analog (DAC).

Portul de intrare al microprocesorului este conectat la portul B al Plăcii de Aplicaţii (PORT B INPUT). Printr-o selecţie adecvată din comutatoarele modului de lucru, portul B permite citirea stării comutatorului DIL (Dual-In-Line) de 8 biţi, a ieşirii DAC sau CAD şi/sau a ieşirii detectorului de viteză.

Legătura între Placa MPF1-B şi Placa de Aplicaţii se realizează printr-o magistrală de 40 căi, legată la conectorul P1 de pe Placa de Aplicaţii.

PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80

89

Fig. 2 Aşezarea componentelor pe Placa de Aplicaţii

PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80

90

Fig. 3 Conexiunea logică între elementele Plăcii de Aplicaţie

PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80

91

3. Descrierea software Un sistem de calcul, indiferent de complexitatea sa, poate efectua sarcinile care îi sunt transmise numai dacă le înţelege, altfel spus dacă acestea sunt pe “limba” lui, în cazul de faţă fiind vorba de “limba microprocesorului”.

Este necesar ca programatorul să se adreseze microprocesorului într-un limbaj pe care acesta să-l înţeleagă şi, evident, să-l execute corect. Microprocesorul nu poate executa decât instrucţiunile exprimate intern sub forma unei succesiuni de cifre binare “0” şi “1”. Un program în care instrucţiunile sunt descrise direct prin cifre binare este denumit limbaj cod maşină. Din păcate o astfel de scriere a programelor este dificilă şi accesibilă doar unui programator cunoscător al arhitecturii interne a microprocesorului. Chiar dacă teoretic este posibil, astăzi nimeni nu mai concepe să “vorbească” (programeze) la un nivel atât de scăzut.

Pentru a se depăşi această dificultate, s-a convenit să se exprime instrucţiunile în exterior sub forme mai accesibile şi mai uşor de manevrat. O modalitate de a uşura manevrarea unei instrucţiuni în cod binar, octal sau hexazecimal este substituirea acesteia printr-un mnemonic (un simbol format obişnuit din două la patru caractere) prin care codul unei operaţii se exprimă în limbajul de asamblare. Limbajul de asamblare, spre deosebire de limbajul cod maşină este un limbaj accesibil omului. Programele scrise în limbaj de asamblare sunt mult mai uşor de urmărit şi înţeles de către alte persoane decât cel ce le-a întocmit.

Pentru a argumenta acest lucru să considerăm că în cadrul unui program scris în cod maşină una dintre instrucţiuni se referă la deplasarea (încărcarea) în registrul acumulator a cuvântului binar 1001 (cifra 9 scrisă în binar). Această instrucţiune scrisă în limbaj de asamblare (deci printr-un mnemonic) va fi de forma:

MVI A,9 (abreviere din limba engleză a exprimării MoVe Immediate 9 to Accumulator).

Pentru scrierea unui program în limbaj de asamblare trebuie cunoscute mnemonicele tuturor instrucţiunilor şi regulile de scriere ale acestora, care sunt specifice pentru un anumit microprocesor (există însă şi multe elemente comune mai multor microprocesoare).

Microprocesorul Z80 are un set de 158 de instrucţiuni.

O linie - instrucţiune - scrisă în limbajul de asamblare are 4 părţi distincte, denumite câmpuri: eticheta, codul, operandul şi comentariul. Câmpurile se delimitează între ele cu cel puţin un blanc.

Exemplu:

Eticheta Codul Operandul Comentariul CICLU: DCR A; SE DECREMENTEAZĂ ACUMULATORUL

Programul scris în limbaj de asamblare, denumit şi program (cod) sursă nu este direct utilizabil de către microprocesor deoarece acest nu-l “înţelege”. De aceea este necesar un asamblor, adică un program (software) care translatează programul sursă (scris în limbaj de asamblare) în program obiect (în limbaj maşină, posibil de executat de către microprocesor). În principiu sarcina asamblorului este de a converti mnemonicele limbajului de asamblare în echivalentele numerice care reprezintă codul maşină.

PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80

92

Toate aplicaţiile prezentate în cadrul lucrărilor de laborator au programele scrise în limbajul de asamblare.

Sistemul MPF1-B conţine în 2Kbytes un program monitor de înaltă performanţă. El este destinat să răspundă cerinţelor utilizatorului introduse de la tastatură. În plus la comenzile de monitor, sunt incluse rutine de test pentru memorie.

Programul monitor al sistemului MPF1-B asigură funcţiile necesare pentru utilizator în scopul dezvoltării de programe. Aceste funcţii includ:

• posibilitatea de a introduce un program în RAM (memoria cu acces aleator) şi de a testa şi modifica programul introdus;

• execuţia programului utilizator stocat în memorie, rularea lui de la adresa curentă de pe display;

• folosind facilităţile "single step" (un singur pas) sau "set break point" (setare punct de oprire) utilizatorul poate rula programul său linie cu linie (o singură linie odată). După fiecare pas, controlul este trecut înapoi programului monitor, astfel încât utilizatorul poate modifica sau vizualiza registrele înaintea execuţiei următorului pas din program;

• alte funcţii de bază, cum ar fi controlul interfeţei cu banda audio şi calculul adresei relative. Folosind funcţiile oferite de MPF1-B, utilizatorul poate dezvolta o serie de aplicaţii bazate pe arhitectura acestui microsistem.

4. Modul de lucru cu macheta de laborator Semnificaţia tastelor este: [MOVE] (MOVE) Mutarea unui bloc de date dintr-o zonă în alta

[RELA] (RELAtive) Calcularea şi inserarea unei adrese relative pentru instrucţiuni de salt

[TAPEWR] (TAPE WRite) Scriere pe banda magnetică (ieşire serială)

[TAPERD] (TAPE ReaD) Citire de pe banda magnetică (intrare serială)

[INS] (INSert) Inserarea unui byte în memorie

[DEL] (DELete) Ştergerea unui byte din memorie

[STEP] (STEP) Executarea unui singur pas (a unei linii de program) din programul utilizator

[GO] (GO) Executarea unui program de la adresa curentă afişată pe display

[SBR] (Set Break Point) Stabilirea unui punct de oprire în programul utilizator

[CBR] (Clear Break Point) Ştergerea punctului de oprire din programul utilizator

[PLUS] Incrementarea valorii afişate (dată sau adresă)

[MINUS] Decrementarea valorii afişate (dată sau adresă)

[PC] Transferă controlul programului la valoarea curentă a registrului PC (Program Counter)

[REG] (REGister) Selectarea unui registru pentru vizualizare

[DATA] (DATA) Introducerea unei valori în "câmpul de date"

[ADDR] (ADDRess) Introducerea unei valori în "câmpul de adrese"

[RESET] (RESET) Semnal de iniţializare a sistemului

[MONI] (MONItor) Terminarea programului curent şi redarea controlului programului monitor

PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80

93

[INTR] (INTeRupt) Întrerupere mascabilă, conectată la pinul INT de la CPU

[USER KEY] Tastă a cărei semnificaţie poate fi modificată de către utilizator

4.1 Operaţii de bază

4.1.1 Tasta Reset Sistem [RESET]

Apăsarea pe această tastă produce o revenire forţată în programul monitor şi apariţia pe display a mesajului [uPF--1]. Acest mesaj apare şi la pornirea sistemului, caz în care mesajul defilează de la dreapta la stânga.

În concluzie reiniţializarea programului monitor se poate face fie apăsând tasta [RESET], fie deconectând şi reconectând alimentarea sistemului.

4.1.2 Examinarea şi modificarea memoriei - tastele [ADDR] şi [DATA]

Exemplu: testaţi conţinutul locaţiilor de memorie 0000-0003H Apăsaţi tasta … Display-ul Comentariu [ADDR] F.F.F.F.-F.F. > Cele 4 puncte arată că se aşteaptă o informaţie pentru

câmpul de adrese. [0] 0000-06 Conţinutul adresei 0000H este 06H [+] 0001-0.0. Se face incrementarea adresei cu 1. Observaţi că acum

punctele s-au mutat în câmpul de date, indicând că se pot introduce date.

[+] 0002-10 Apăsând tasta [+], se face din nou incrementarea adresei cu 1, iar conţinutul acestei adrese 0002H este 10H.

[+] 0003-F.E. Conţinutul adresei 0003H este FEH

Exemplu: schimbaţi conţinutul de la adresa 1800 în AB şi de la adresa 1801 în CD Apăsaţi tasta … Display-ul Comentariu [ADDR] F.F.F.F.-F.F. Cele 4 puncte arată că se aşteaptă o informaţie pentru

câmpul de adrese. [1] [8] [0] [0] 1.8.0.0.-0.0. Introduceţi 1800, apăsând tastele corestunzătoare.

Observaţi că numărul tastat apare în câmpul de adrese. [DATA] 1800-0.0.. Utilizatorul poate introduce informaţii în câmpul de date,

fapt indicat de prezenţa punctelor. [3] [A] 1800-3.A. Introduce valoarea 3A în câmpul de date. [B] 1800-A.B. Observaţi că dacă introduceţi mai mult de doi digiţi,

valoarea introdusă va fi egală cu ultimii 2 digiţi [+] 1801-0.0.. Se face incrementarea adresei dar punctele s-au mutat în

câmpul de date, indicând că se pot introduce date. [C] [D] 1801-CD Conţinutul adresei 1801H este CDH

PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80

94

4.1.3 Examinarea şi actualizarea registrelor – tastele [REG] şi [DATA]

Exemplu: Verificaţi conţinutul registrelor SP, HL şi IY, apoi modificaţi conţinutul registrului A în 12 şi a registrului F în 34.

Apăsaţi tasta … Display-ul Comentariu [REG] rEG- Se poziţionează MPF1-B în modul registru. [SP] xxxx-SP Apăsaţi tasta A pentru a vedea numele şi conţinutul

registrului SP. [HL] xxxx-HL Apăsaţi tasta 3 pentru a vedea perechea HL [IY] xxxx-IY Apăsaţi tasta 9 pentru a vedea perechea IY [AF] xxxx-AF Pentru a afişa un registru apăsaţi tasta REG urmată de

numele registrului. [DATA] xxx.x.-AF Punctele reprezintă faptul că utilizatorul poate

introduce date în registrul F. [3] [4] xx3.4.-AF Registrul F conţine 34. [+] x.x.34-AF Tastaţi [+] pentru a muta punctele astfel încât să

introduceţi datele în registrul A [1] [2] 1.2.34-AF Cele două cifre din stânga reprezintă datele din

registrul A (12) iar cele două din dreapta – datele din registrul F (34).

Observaţii:

• Registrele alternative AF’, BC’, DE’ şi HL’ sunt reprezentate cu puncte lângă nume.

• IX şi IY nu se pot reprezenta adecvat pe display-ul cu 7 segmente şi de aceea se foloseşte un format special. Găsiţi-l!

4.1.4 Tasta Program Counter [PC]

Apăsarea pe această tastă resetează programul utilizatorului aducând Program Counter-ul la adresa cea mai mică a RAM-ului (1800H). Dacă tasta [PC] este apăsată după tasta [RESET], atunci cei 4 digiţi din stânga display-ului vor afişa adresa cea mai mică din RAM.

4.2 Depanarea programelor

4.2.1 Tasta Execuţie Program [GO]

Această tastă este validă numai când pe display este afişat un format standard “adresă - dată”. După apăsarea acestei taste, CPU sare la adresa afişată pe display. Înainte de a transfera controlul programului utilizator, sunt şterse toate registrele accesibile utilizatorului. Aceste registre pot fi presetate prin folosirea tastei [REG].

Tasta Un Pas [STEP] [STEP] este similară cu [GO]. Este validă numai când display-ul este în modul “adresă - dată”. Apăsarea acestei taste forţează CPU să execute instrucţiunea a cărei adresă se află în registrul PC ( Program Counter). După execuţia acestei instrucţiuni, programul monitor preia controlul şi afişează noul conţinut al registrului PC şi data depozitată în acea locaţie de memorie. Utilizatorul poate în acest fel examina şi modifica conţinutul registrelor sau memoriei după fiecare pas.

PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80

95

Când se execută un program folosind metoda pas-cu-pas, programul monitor foloseşte “stiva utilizator” pentru a depozita adresa de revenire. Din acest motiv stack-pointerul utilizatorului trebuie să pointeze pe o adresa validă din RAM, altfel va fi afişat un mesaj de eroare. Dacă stack-pointerul utilizatorului pointează în zona cu stiva sistemului, se va afişa [SYS-SP]. Depăşirea stivei poate cauza eroare, de exemplu, când este executată o instrucţiune “RET”.

În ambele cazuri trebuie schimbat conţinutul registrului SP (Stack Pointer) sau apăsată tasta [RESET]. Acest tip de erori sunt de obicei provocate de schimbarea manuală a conţinutului registrului SP în timpul procesului pas-cu-pas.

Tasta Fixează Adresa de Oprire [SBR] SBR semnifică Set Break Point. Când un program este mai lung, execuţia pas-cu-pas poate fi foarte mare consumatoare de timp. Setarea unor adrese de oprire permite programului să ruleze cu viteză normală şi să se oprescă atunci când se ajunge la adresa de oprire fixată. Din acest moment utilizatorul poate examina şi modifica memoria sau registrele după necesităţi.

Când display-ul este în mod “adresă - dată”, apăsarea tastei [SBR] setează adresa curentă afişată ca fiind o adresă de oprire.

Atenţie:

• Este interzis să setezi un break point în zona de ROM. Dacă se setează un astfel de break point, programul monitor va stinge complet afişajul.

• Dacă o instrucţiune are mai mult de un octet, adresa de oprire se va seta la primul octet, altfel va apare o eroare.

• Când display-ul este în mod “adresă - dată” şi adresa curentă este setată ca adresă de oprire, toate punctele zecimale de pe display se vor aprinde pentru a arăta că adresa curentă este un punt de oprire.

• Conţinutul unei locaţii de adresă poate fi modificat folosind tasta [ADDR].

• Când programul utilizator rulează până la punctul de oprire, display-ul este în mod “adresă - dată”. Câmpul de adresă va arăta Program Counter-ul utilizatorului.

• După ce programul utilizator a rulat până la un punct de oprire, toate registrele şi biţii de stare sunt salvate.

• Cu MPF-1B se poate seta o dată numai un singur punct de oprire. Pentru a insera un nou punct de oprire, după ce programul a ajuns în acel punct, se face setarea normală a noului punct de oprire (punctul de oprire este mutat din locaţia precedentă la cea nou aleasă de utilizator).

Tasta Şterge Adresa de Oprire [CBR] Dacă utilizatorul doreşte să elimine un punct de oprire din programul său, se apasă tasta [CBR] pentru a şterge punctul de oprire. Din moment ce doar un singur punct de oprire poate fi setat, această tastă poate fi apăsată în orice moment.

PREZENTAREA MACHETEI DE LABORATOR ELECTRONICĂ CU MICROPROCESOR Z80

96

Tasta Revenire în programul Monitor [MONI] Când se execută un program pot apare şi evenimente neaşteptate (nu toate programele sunt perfecte de prima dată!). Dacă CPU încearcă să execute un cod de operaţie inexistent sau programul ajunge într-o buclă infinită, se pierde controlul asupra CPU.

Prin apăsarea acestei taste, se abandonează programul utilizator şi se redă controlul programului monitor iar pe display se va afişa conţinutul Program Counter-ului utilizatorului şi data aflată în acea locaţie de memorie. De asemenea, când se execută o instrucţiune HALT, apăsarea pe tasta [MONI] va întoarce controlul către programul monitor.

4.3 Funcţii de uz general

Tasta Transfer Bloc [MOVE] Această tastă permite mutarea unui bloc de date dintr-o zonă de memorie în alta.

Atenţie:

• Când transferul este complet, display-ul revine în modul “adresă - dată”. Conţinutul câmpului de adresă va fi adresa ultimului octet de memorie transferat. Transferul se poate face fie înainte, fie înapoi.

• Reţineţi că, dacă zona de destinaţie se suprapune peste stiva sistemului, stiva sistemului va fi distrusă! În aceste condiţii va trebui să apăsaţi tasta [RESET] pentru a reseta sistemul.

Tasta Ştergere Dată [DEL] Această tastă este validă numai dacă display-ul este în modul “adresă - dată”. Apăsarea acestei taste provoacă ştergerea datei afişate pe display. Toate datele aflate după cea afişată sunt deplasate cu o poziţie (pentru a completa “spaţiul creat”).

Atenţie:

• O dată din ROM nu poate fi ştearsă (cum era de aşteptat). Zona validă pentru ştergere cu tasta delete este în domeniul 1800 – 1DFF. La apăsarea acestei taste, toate datele din domeniul 1800 – 1DFF se mută mai jos cu o poziţie şi locaţia 1DFF este încărcată cu 00.

Tasta Inserare Dată [INS] Când display-ul este în modul “adresă - dată” se poate introduce un octet care va fi inserat la adresa imediat următoare.

Atenţie:

• Regiunea validă pentru inserarea unei date este aceeaşi ca pentru tasta [DEL]. După inserare, ultimul octet de memorie se pierde, deci octetul de la adresa 1DFF este scos afară, fără posibilitatea de a-l recupera. Inserarea unui octet se face după adresa afişată. Apăsarea tastei [INS] provoacă incrementarea adresei curente şi deplasarea tuturor datelor de după ea cu o poziţie în sus.


Recommended