Rietuvė: Skirtumas tarp puslapio versijų
Ištrintas turinys Pridėtas turinys
"Commonscat". |
→Aparatinė realizacija: Perrašyta su "source". |
||
Eilutė 8:
Daugelis [[Procesorius|procesorių]] (ypač – [[CISC]] architektūros) palaiko ''steko'' darbą aparatiškai. Tokiuose [[Procesorius|procesoriuose]] būna vienas ar keli už ''steką'' atsakingi [[Registras (procesoriaus)|registrai]] ([[Intel 8080]] – SP, Intel x86 – ''SP'' ir ''ESP''), rodantys į ''steko'' galą. Procesoriaus vykdoma ''Pop'' operacija automatiškai perkelia į nurodytą [[Registras|registrą]] paskutinį ''steko'' elementą ir sumažina ''steko'' registro reikšmę. ''Push'' operacija ''steko'' [[Registras|registro]] reikšmę padidina, bei nurodyto registro reikšmę perkelia į steką. Asembleriu tokia operacijų seka gali būti aprašyta maždaug taip:
<source lang="asm">
PUSH AX ; ;
; ADD SP, 2 ; <font color="#888888">(Keičiama steko rodyklė, AX dydis baitais)</font>▼
;
; MOV
POP AX ; ;
▲ ; MOV AX, WORD PTR [SP] ; <font color="#888888">Steko viršūnė perkeliama į registrą</font>
; MOV AX, WORD PTR [SP] ; Steko viršūnė perkeliama į registrą
</source>
Sukompiliuotame [[Intel]] x86 procesoriui skirtos [[Programa (kompiuterio)|programos]] kode yra ''steko'' [[Segmentas (programavime)|segmentas]], kuriame ir saugomi į steką dedami elementai.
|