JP: 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 bir diğer değişikliği gösterilmiyor)
42. satır: 42. satır:
|}
|}


CC, [[Z80 Bayrak Yazmacı|bayrak yazmacı]]nın o andaki durumuna göre zıplamayı gerektirir.
CC, [[Z80 Bayrak Yazmacı|bayrak yazmacı]]nın o andaki durumuna göre zıplamayı gerektirir. CC değeri alan JP komutu için aşağıdaki tabloyu kullanabilirsiniz:
 
{| class="wikitable"
{| class="wikitable"
| JP C,NN ||  3 || DA XX XX ||  10/10 || ------ || If CY then PC=NN
| JP C,NN ||  3 || DA XX XX ||  10/10 || ------ || CY doğru ise PC=NN
|-
|-
| JP M,NN ||  3 || FA XX XX ||  10/10 || ------ || If S then PC=NN
| JP M,NN ||  3 || FA XX XX ||  10/10 || ------ || S doğru ise PC=NN
|-
|-
| JP NC,NN || 3 || D2 XX XX ||  10/10 || ------ || If !CY then PC=NN
| JP NC,NN || 3 || D2 XX XX ||  10/10 || ------ || !CY doğru ise PC=NN
|-
|-
| JP NZ,NN || 3 || C2 XX XX ||  10/10 || ------ || If !Z then PC=NN
| JP NZ,NN || 3 || C2 XX XX ||  10/10 || ------ || !Z doğru ise PC=NN
|-
|-
| JP P,NN ||  3 || F2 XX XX ||  10/10 || ------ || If !S then PC=NN
| JP P,NN ||  3 || F2 XX XX ||  10/10 || ------ || !S doğru ise PC=NN
|-
|-
| JP PE,NN || 3 || EA XX XX ||  10/10 || ------ || If P then PC=NN
| JP PE,NN || 3 || EA XX XX ||  10/10 || ------ || P doğru ise PC=NN
|-
|-
| JP PO,NN || 3 || E2 XX XX ||  10/10 || ------ || If !P then PC=NN
| JP PO,NN || 3 || E2 XX XX ||  10/10 || ------ || !P doğru ise PC=NN
|-
|-
| JP Z,NN ||  3 || CA XX XX ||  10/10 || ------ || If Z then PC=NN
| JP Z,NN ||  3 || CA XX XX ||  10/10 || ------ || Z doğru ise PC=NN
|}
|}



17.24, 29 Kasım 2014 itibarı ile sayfanın şu anki hâli


Komut detayları

Komut Süre (ts) Açıklama Bayrak Etkisi Yapılan İş
JP nn 10 nn adresine koşulsuz sıçra. -------- PC=nn
JP cc,nn 10 nn adresine eğer CC koşulu doğru ise sıçra. -------- CC doğru ise PC=nn
JP (HL) 4 (HL) içeriğindeki değere koşulsuz sıçra. -------- PC=[HL]
JP (IX) 8 (IX) içeriğindeki değere koşulsuz sıçra. -------- PC=[IX]
JP (IY) 8 (IY) içeriğindeki değere koşulsuz sıçra). -------- PC=[IY]

CC, bayrak yazmacının o andaki durumuna göre zıplamayı gerektirir. CC değeri alan JP komutu için aşağıdaki tabloyu kullanabilirsiniz:

JP C,NN 3 DA XX XX 10/10 ------ CY doğru ise PC=NN
JP M,NN 3 FA XX XX 10/10 ------ S doğru ise PC=NN
JP NC,NN 3 D2 XX XX 10/10 ------ !CY doğru ise PC=NN
JP NZ,NN 3 C2 XX XX 10/10 ------ !Z doğru ise PC=NN
JP P,NN 3 F2 XX XX 10/10 ------ !S doğru ise PC=NN
JP PE,NN 3 EA XX XX 10/10 ------ P doğru ise PC=NN
JP PO,NN 3 E2 XX XX 10/10 ------ !P doğru ise PC=NN
JP Z,NN 3 CA XX XX 10/10 ------ Z doğru ise PC=NN

Açıklama ve Örnekler

JP komutuyla ise program ilgili adrese sıçrar ve oradan çalışmaya devam eder.

ld hl,4000h
ld a,(hl)
jp devam
....
...
...
devam out (254),a
....
...

JP komutlarında nn (adres) 0 ile 65535 arasında olabilir. Mutlak sıçrama komutlarında HL,IX ve IY registerleride kullanılabilir. Bu komutlar JP (HL), JP (IX) ve JP (IY) dır.


JP Z,adres "Zero" biti "1" ise sıçra, JP NZ,adres "Zero" biti "0" ise sıçra, JP C,adres "Carry" biti "1" ise sıçra, JP NC,adres "Carry" biti "0" ise sıçra, JP P,adres "Sign" biti "1" (pozitif) ise sıçra, JP M,adres "Sign" biti "0" (negatif) ise sıçra, JP PE,adres "P/V" biti "1" ise çağır, JP PO,adres "P/V" biti "0" is çağır.

Uyarılar

Z80 komut setinde eğer bir yazmaç parantez içinde verildiyse genellikle bunun anlamı yazmacın depoladığı adresin tuttuğu bir byte'lık değer anlamına gelir. Fakat bu konuda bazı istisnalar mevcut: JP (HL), JP (IX) ve JP (IY) komutları aslında parantezler direkt olarak depolanan adrese sıçrarlar. Yani JP (HL) aslında JP HL demektir. Bu durum JP IX ve JP IY olarak da söylenebilir. Z80 dokümantasyonunda bu komutların neden parantezle kullanıldığı bilinmemektedir. Fakat uyumluluk açısından bu komutlar mutlaka parantez işareti kullanılarak yazılmalıdırlar.

Örnek.

LD HL,32768 JP (HL)

Yukarıdaki örnekte "Program Sayacı (PC)" 32768'e dönüşür.


Zx Spectrum ULA gecikmesi komut detayı

JP nn
JP cc,nn 
(48k/+2) pc:4,pc+1:3,pc+2:3 ,	 (+2AB/+3) pc:4,pc+1:3,pc+2:3

Ayrıca Bakınız

Z80 Bayrak Yazmacı