JP

Retrojen Wiki sitesinden
17.22, 29 Kasım 2014 tarihinde Admin (mesaj | katkılar) tarafından oluşturulmuş 26 numaralı sürüm
Gezinti kısmına atla Arama kısmına atla


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.

JP C,NN 3 DA XX XX 10/10 ------ If CY then PC=NN
JP M,NN 3 FA XX XX 10/10 ------ If S then PC=NN
JP NC,NN 3 D2 XX XX 10/10 ------ If !CY then PC=NN
JP NZ,NN 3 C2 XX XX 10/10 ------ If !Z then PC=NN
JP P,NN 3 F2 XX XX 10/10 ------ If !S then PC=NN
JP PE,NN 3 EA XX XX 10/10 ------ If P then PC=NN
JP PO,NN 3 E2 XX XX 10/10 ------ If !P then PC=NN
JP Z,NN 3 CA XX XX 10/10 ------ If Z then 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ı