JP
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 | ------ | 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