Programarea în codurile mașinilor și în limba de asamblare - primii pași în codurile mașinilor -

3. Arhitectura procesorului Z -80.

Structura procesorului include mai multe registre. E cu ei lucrăm la programarea codului mașinii. Luați în considerare aceste registre ca celule în memoria internă a procesorului. Dacă din celule de memorie permanentă calculatorului (ROM) poate citi doar informații de la, și atunci când se lucrează cu memoria principală (RAM) informații pot atât înregistra și citi, în cazul în care registrele pot produce în continuare un număr mare de operații aritmetice și logice asupra conținutului registrului .







F, A, B, C, D, E, H, L, SP, PC, IX, IY, I, R.

Acesta este setul de bază de registre. Există încă un set suplimentar, se numește alternativă, o vom lua în considerare mai jos.

Unele dintre aceste registre, - opt biți (un octet) și poate conține numere întregi de la 0 la 255. Acest registru F, A, B, C, D, E, H, L, I, R.

Altele sunt de 16 biți (dublu-octet). Ele pot conține numere întregi de la 0 la 65535. Acestea sunt registrele SP, PC, IX, IY.

Unele registre cu un singur octet pot fi combinate în două perechi de registru de octeți BC, DE, HL. În acest caz, putem vorbi despre o astfel de pereche ca un registru hexazecimal separat.

Procesorul Z-80 este un procesor foarte asimetric, adică fiecare registru are caracteristici specifice care îl diferențiază de ceilalți și diferite registre sunt concepute pentru a îndeplini diferite funcții.

Luați în considerare registrele setului de bază.

Înregistrați A - acumulator.

Acest registru este denumit acumulator, deoarece în multe cazuri rezultatul executării operației rămâne în ea. În acest registru, cel mai mare număr de comenzi aritmetice și logice este executat. Acesta este principalul registru cu un singur octet al procesorului. Multe echipe nici nu specifică în ce registru aparțin: ar trebui să aparțină registrului A.

Registrele B, C, D, E, H, L sunt registre cu scop general.

Aceste registre sunt utilizate pe scară largă de către procesor atunci când execută diverse comenzi. Caracteristica lor caracteristică este că pot fi folosite atât ca registru single-byte cât și ca două perechi de înregistrări hexazecimale: BC, DE, HL.

În acest caz, numărul maxim de comenzi are registrul HL. Atunci când se lucrează cu numere întregi de două octeți, are aceeași importanță ca registrul A atunci când lucrează cu cele cu un singur octet.

În registrul DE, pentru cuvântul "destinație" se utilizează o abreviere. Într-adevăr, în multe operații care implică mișcarea ceva undeva, registrul HL indică unde să-l obțină, iar registrul DE unde să-l trimită.

În registrul BC, puteți alege reducerea contorului din spate ("contorul invers"). În acele cazuri, atunci când o anumită secvență de comenzi trebuie repetată n ori, adică Când ciclul calculelor este organizat, contorul acestui ciclu este stocat în registrul BC.

Atunci când se unesc registrele unice în perechi, primul stochează octetul înalt, iar în al doilea - cel mai mic. Deci, B, D, H - senior, și C, E, L - cel mai mic. Pentru cei care știu puțin engleza, memento-ul este numele registrului HL. Mai întâi, H este mare, iar L este scăzut.

Registrul SP este un indicator de stivă.

În acele cazuri în care este necesar, la un moment dat pentru a elibera un registru (sau registre) și amintiți-vă conținutul său până la utilizarea ulterioară, computerul poate fi folosit ca un loc de stocare temporară porțiune particulară a RAM numită o mașină de stivă. Fiți atenți la cuvântul "mașină". Există și alte stive, cum ar fi un calculator sau un teanc de, să zicem, stiva de utilizator, pe care le va crea prin ele însele pentru uz propriu, dar că este încă să vină, dar acum hai sa vorbim despre stiva mașinii. O stivă este o formă de organizare a memoriei în care datele sunt descărcate și încărcate pe o bază LIFO (ultima în prima dată).

Registrul PC-ului este un contor de programe.

Registrul F este registrul de steaguri.

Acest registru este diferit de toate. Nu este tratat ca un registru separat care stochează un număr de opt cifre, ci mai degrabă ca opt steaguri separate. Fiecare steag poate fi setat sau șters; Bitul corespunzător este ON (1) sau OFF (OFF) (0). Mai jos este structura registrului de steaguri:







· Bitul 1 - steagul de adăugare / scădere N;

· Bitul 2 - flagul de parcurgere / paritate P / V

· Bitul 3 - nefolosit;

· Bitul 4 - semnal de transfer semi-transfer H;

· Bitul 5 - nefolosit;

· Bitul 6 - steagul zero Z;

· Bitul 7 este steagul semnului S.

Steaguri C. P / V. Z. S - utilizat în mod activ în diferite echipe. Vom lua în considerare lucrul cu aceste pavilioane în secțiunea 5.9.5.

Steagurile N și H nu sunt utilizate de programator. Participă la executarea operațiunilor cu numere zecimale, exprimate în formă binară. Vom vorbi despre acest lucru în capitolul următor.

Registrele IX, IY - registrele indexului.

Registrul R - Registrul de regenerare.

Acesta este un registru de sistem intern, care este utilizat automat de către procesor, fără participarea programatorului. Încărcăturile electrice din cipurile de memorie tind să se "scurgă", deci pentru funcționarea normală a calculatorului este necesară reîncărcarea (regenerarea) RAM-ului. În acest scop, se utilizează registrul R.

Registrul I este vectorul întreruperilor.

Pentru computerele altor sisteme asamblate pe baza procesorului Z-80, acest registru este utilizat pentru organizarea schimbului cu dispozitive periferice. În "Spectrum" această posibilitate nu este utilizată, iar acest registru participă doar la formarea unui semnal de televiziune.

Set de registre alternativ.

Una dintre trăsăturile distinctive ale procesorului Z-80 este disponibilitatea unui set alternativ de registre. Aceste registre F ', A', B ', C', D ', E', H ', L'. Ele sunt complet identice cu registrele F, A, B, C, D, E, H, L.

Prezența unui astfel de set alternativ vă permite să treceți rapid de la un set la altul. Când trebuie să efectuați anumite operații cu registre cu scop general și acestea sunt deja ocupate și nu puteți pierde datele conținute în acestea, există trei modalități înainte de a vă:

1. Trimiteți conținutul în memorie și apoi returnați-l.

2. Puneți conținutul în teanc și apoi întoarceți-l de acolo.

3. Treceți la un set alternativ de registre și lucrați cu acesta, apoi treceți la setul principal.

A treia cale este cea mai rapidă.

Datorită disponibilității unui set alternativ, procesorul poate servi simultan două sarcini. În momentul în care ați trecut la un set alternativ, acesta devine cel principal, iar cel anterior principalul - devine o alternativă. Din punct de vedere fizic, aceste seturi sunt complet identice și, prin urmare, nu există instrumente software pentru a determina ce set cu care lucrați în prezent. Programul se dovedește a fi prea complicat și programatorul are nevoie de puțină grijă.

Primii pași în codurile mașinii - Foarte - primul pas.

Primii pași din codurile mașinii - De ce să înveți programarea în codurile mașinilor.

Primii pași din codurile mașinii sunt arhitectura procesorului Z-80.

Forme de reprezentare a numerelor în procesor Z-80 - Sisteme numerice. Formă suplimentară binară de înregistrare. Zecimal aritmetică în termeni binari.

Comenzile aritmetice și logice - Comenzi de adăugare. Comenzi de subtragere. Comenzi de comparare. Comenzi logice.

Operațiuni de branșare - Comenzile de salt. Operațiuni într-un ciclu. Comenzile stivei. Apelarea subrutinelor.

Comenzi pentru accesarea ROM - Puncte de pornire în ROM. Descrierea calculatorului încorporat.

Comenzi pentru lucrul cu biți - Comenzi pentru mutarea, rotirea și verificarea biților.

Memorie - Instrucțiuni de procesare a blocului de memorie.

I / O - Comenzi pentru lucrul cu dispozitive externe.

Întrerupe - o descriere a sistemului de întrerupere al procesorului Z80.

Alte comenzi - o descriere a comenzilor specifice procesorului Z80.

Concluzie - sfârșitul primei părți a cărții și notele la aceasta.

Partea a II-a - "Atelierul de programare în codurile mașinilor." Introducere.

Caracteristicile procesorului Z80 - mai multe pagini ale unei scurte repetări a materialului din prima parte, o revizuire a principalelor caracteristici ale procesorului.

Extinderea sistemului de comandă al procesorului este o construcție aritmetică.

Extinderea sistemului de comandă al procesorului - construcții logice.

Extinderea sistemului de procesoare de comandă - proiectarea transmisiei de date.

Extinderea sistemului de comandă al procesorului - structuri de ramificație.

Extinderea sistemului de comandă al procesorului - proiectarea și returnarea apelului subprogramului. Alte construcții.

Analiza programelor în codurile mașinilor - ieșire la bordura benzilor de culoare.

Analiza programelor în codurile mașinilor - ieșirea datelor pe ecran de la codul mașinii.

Analiza programelor în codurile mașinilor - gestionarea programului de la joystick-ul Kempston.

Analiza programelor în codurile mașinilor - controlați programul de la tastatură.

Analiza programelor în codurile mașinilor - verificarea memoriei RAM a calculatorului.

Analiza programelor în codurile mașinilor este o modalitate practică de a lucra cu un calculator.

Analiza programelor în codurile mașinilor este un exemplu de utilizare a întreruperilor de tipul al doilea.

Canalele și fluxurile sunt canale standard. Alte canale. Zona de informații despre canale. Conectarea firelor. Metode practice de lucru cu canale și fluxuri.

Supliment 2 - o prezentare generală a erorilor tipice care apar atunci când se programează în codurile mașinilor.

Partea a III-a - ghid de programare în codurile mașinilor. Introducere.

Sistem de comandă - un tabel rezumat al valorilor codului de la 0 la 255 pentru Basic și Assembler.

Sistemul de comandă este un tabel cu valorile codului pentru asamblare.

Tabelul 3 - sistemul de comandă al calculatorului încorporat.

Dicționar assembler mnemonics - toate mnemoniile codului mașinii procesorului Z-80 în ordine alfabetică.

Tabelul 5 - tabelul indicatorului de întrerupere de pe ROM.

Russificare - rusificare folosind simboluri UDG.

Russificare - rusificare prin înlocuirea generatorului. Russificare "sub imprimanta" și "sub mașină de scris".

Sfaturi utile - câteva recomandări practice legate de computerizarea computerului.

Concluzie - vă mulțumesc pentru atenția acordată cărții noastre. Dacă ați citit-o până la capăt și totul este clar pentru dvs., atunci ați făcut un mare pas înainte, dar totuși acesta este doar primul pas.







Articole similare

Trimiteți-le prietenilor: