PUSH: Revizyonlar arasındaki fark
Gezinti kısmına atla
Arama kısmına atla
Değişiklik özeti yok |
Değişiklik özeti yok |
||
(Aynı kullanıcının aradaki diğer 3 değişikliği gösterilmiyor) | |||
1. satır: | 1. satır: | ||
[[ | [[kategori:Z80 İşlemci Komutları]] | ||
[[ | [[kategori:Veri Transferi Komutları]] | ||
== Komut detayları == | == Komut detayları == | ||
31. satır: | 29. satır: | ||
== Açıklama == | == Açıklama == | ||
PUSH (it) komutu bir [[Stack]] (yığıt) işlem komutudur. PUSH, [[Stack Pointer]] (SP / Yığıt İmleci) değerini iki azaltır ve verilen yazmaç çiftini yığıtın en üstüne koyar. Bu şekliyle SP, yığıttaki son veri çiftini işaret eder şekilde bırakılır. | |||
PUSH 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 == | == Örnek Kod == | ||
LD SP, 42192 | LD SP, 42192 ;yığıt lokasyonunu ayarla | ||
LD BC,1122 ; BC ve HL'ye değerler yükle | |||
LD BC,1122 | LD HL,3344 | ||
LD HL,3344 | PUSH BC ; değerleri stack'e it | ||
PUSH HL | |||
PUSH BC ; değerleri stack'e it | POP BC ; değerleri stack'ten geri al (son giren ilk çıkar). | ||
PUSH HL | POP HL ; DİKKAT! BC ve HL değerleri yer değiştirmiş şekilde gelir. | ||
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 == | == Ayrıca Bakınız == | ||
54. satır: | 50. satır: | ||
== Zx Spectrum Ula Gecikmesi Komut Detayı == | == Zx Spectrum Ula Gecikmesi Komut Detayı == | ||
PUSH pc:4,ir:1,sp-1:3,sp-2:3 | PUSH [48/128] pc:4,ir:1,sp-1:3,sp-2:3 [+3/2ab] pc:5,sp-1:3,sp-2:3 |
13.46, 18 Aralık 2014 itibarı ile sayfanın şu anki hâli
Komut detayları
Komut | Süre (ts) | Açıklama | Bayrak Etkisi | Yapılan İş |
---|---|---|---|---|
PUSH rr (BC/HL/DE/AF) | 11 | Yığıt imlecini azalt ve yazmaç çiftini yığıta koy | -------- | -[SP]=rr |
PUSH rr (IX/IY) | 15 | Yığıt imlecini azalt ve yazmaç çiftini yığıta koy | -------- | -[SP]=rr |
Açıklama
PUSH (it) komutu bir Stack (yığıt) işlem komutudur. PUSH, Stack Pointer (SP / Yığıt İmleci) değerini iki azaltır ve verilen yazmaç çiftini yığıtın en üstüne koyar. Bu şekliyle SP, yığıttaki son veri çiftini işaret eder şekilde bırakılır.
PUSH 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
POP | Stack | Stack Pointer
Zx Spectrum Ula Gecikmesi Komut Detayı
PUSH [48/128] pc:4,ir:1,sp-1:3,sp-2:3 [+3/2ab] pc:5,sp-1:3,sp-2:3