Što je operacija stoga u mikroprocesoru 8085?
8085 mikroprocesor ima dvije operacije povezane sa stogom:
- GURATI
- POP
Ove se operacije koriste za pohranjivanje i dohvaćanje podataka sa stoga, što je memorijsko područje koje se koristi za privremenu pohranu.
PUSH operacija
Operacija PUSH pohranjuje sadržaj 8-bitnog akumulatora ili 16-bitnog registrskog para (HL) na stog. Kada se izvrši PUSH operacija, mikroprocesor prvo povećava pokazivač stoga (SP) za dva, a zatim pohranjuje podatke na memorijsku lokaciju na koju ukazuje SP.
Sintaksa:
`PUSH akumulator`
`PUSH registarski par (HL)`
Primjer:
```
PUSH B;Gurnite sadržaj registra B na stog.
PUSH HL; Gurnite sadržaj registrskog para HL na stog.
```
POP operacija
POP operacija dohvaća podatke s vrha stoga i pohranjuje ih u 8-bitni akumulator ili 16-bitni registarski par (HL). Kada se izvrši POP operacija, mikroprocesor prvo smanji pokazivač stoga (SP) za dva, a zatim učitava podatke s memorijske lokacije na koju ukazuje SP u akumulator ili par registara.
Sintaksa:
`POP akumulator`
`POP registarski par (HL)`
Primjer:
```
POP B; Izvadite podatke s vrha stoga i pohranite ih u registar B.
POP HL; Iskočite podatke s vrha stoga i pohranite ih u registarski par HL.
```
Registar pokazivača snopa (SP)
Registar pokazivača snopa (SP) je 16-bitni registar koji se koristi za praćenje trenutne pozicije snopa. SP registar uvijek pokazuje na vrh stoga, što znači da sadrži adresu sljedeće dostupne memorijske lokacije za pohranu podataka.
Operacije stoga i memorija
Prilikom izvođenja operacija snopa, mikroprocesor 8085 koristi namjensko područje memorije koje se naziva segment snopa. Segment stoga nalazi se na nižim adresama memorije, obično počevši od adrese 0000H. Veličinu segmenta hrpe može definirati programer.
Primjene operacija snopa
Operacije stoga koriste se u raznim situacijama, uključujući:
- Pohranjivanje privremenih podataka: Operacije stoga mogu se koristiti za privremeno pohranjivanje podataka koji nisu odmah potrebni. Ovo može biti korisno za pohranjivanje međurezultata tijekom izračuna ili za pohranjivanje sadržaja registara prije poziva potprograma.
- Prosljeđivanje argumenata potprogramima: Operacije stoga mogu se koristiti za prosljeđivanje argumenata potprogramima. Argumenti se guraju na stog prije nego što se podprogram pozove, a zatim ih dohvaća potprogram kada započne izvršavanje.
- Spremanje povratne adrese: Kada se potprogram pozove, povratna adresa (adresa instrukcije nakon poziva podprograma) se gura na stog. To omogućuje mikroprocesoru da se vrati na ispravnu lokaciju nakon što potprogram završi s izvođenjem.
- Stvaranje ugniježđenih poziva funkcija: Operacije stoga mogu se koristiti za stvaranje ugniježđenih poziva funkcija. Kada funkcija poziva drugu funkciju, povratna adresa pozivajuće funkcije se gura na stog. To omogućuje mikroprocesoru da se vrati na ispravnu funkciju nakon što ugniježđena funkcija završi s izvođenjem.
Stack operacije su moćan alat za upravljanje memorijom i protokom podataka u 8085 mikroprocesorskim programima. Omogućuju programerima jednostavno pohranjivanje i dohvaćanje podataka sa stoga, što olakšava pisanje složenih i učinkovitih programa.