POP
Gezinti kısmına atla
Arama kısmına atla
Komut detayları
Komut | Süre (ts) | Açıklama | Bayrak Etkisi | Yapılan İş |
---|---|---|---|---|
POP rr (BC/HL/DE/AF) | 10 | yazmaç çiftini yığıttan al ve Yığıt imlecini arttır | -------- | rr=[SP]+ |
PUSH rr (IX/IY) | 14 | yazmaç çiftini yığıttan al ve Yığıt imlecini arttır | -------- | rr=[SP]+ |
Açıklama
POP (çek) komutu bir Stack (yığıt) işlem komutudur. PUSH, verilen yazmaç çiftini yığıtın en üstündeki değere eşitler ve Stack Pointer (SP / Yığıt İmleci) değerini iki artırır. Bu şekliyle SP, yığıttaki son kullanılmamış veri çiftini işaret eder şekilde bırakılır.
POP her zaman 16 bitlik bir yazmaç çifti kullanır. Bu sebepten Akümülatör (A) ve Bayrak Yazmaçı (F) birleştirilerek AF çifti şeklinde yığıta itilebilir.
Örnek Kod
LD SP, 42192 ;yığıt lokasyonunu ayarla LD BC,1122 ; BC ve HL'ye değerler yükle LD HL,3344 PUSH BC ; değerleri stack'e it PUSH HL POP BC ; değerleri stack'ten geri al (son giren ilk çıkar). POP HL ; DİKKAT! BC ve HL değerleri yer değiştirmiş şekilde gelir.
Ayrıca Bakınız
PUSH | Stack | Stack Pointer
Zx Spectrum Ula Gecikmesi Komut Detayı
POP [48/128] pc:4,sp:3,sp+1:3 [+3/2ab] pc:4,sp:3,sp+1:3