PUSH: Revizyonlar arasındaki fark

Retrojen Wiki sitesinden
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:
[[category:Z80 İşlemci Komutları]]
[[kategori:Z80 İşlemci Komutları]]
[[category:Durum Komutları]]
[[kategori:Veri Transferi Komutları]]
 


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.


== Komut detayları ==
== Komut detayları ==
31. satır: 29. satır:


== Açıklama ==
== Açıklama ==
Nop komutuna rastlandığında herhangi bir işlem yapılmaz ve PC normal şekilde 1 yükseltilir.
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.
 
Nop komutunun
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   ;yığıt lokasyonunu ayarla
LD SP, 42192     ;yığıt lokasyonunu ayarla
 
LD BC,1122       ; BC ve HL'ye değerler yükle
LD BC,1122       ; BC ve HL'ye değerler yükle
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 pc:5,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