- Intruksi JUMP
1
INSTRUKSI JUMP
Terdapat 2 bentuk :
2000H 2000H
3000H 3000H
3
INSTRUKSI JUMP
JUMP ke alamat memory nn jika syarat terpenuhi
JP cc, nn
ya
cc = 0 ?
tdk
4
INSTRUKSI JUMP
JUMP ke segment lain jika syarat terpenuhi
5
INSTRUKSI JUMP
1. Register B berisi data FFH. Register A berisi data FFH. Memori address 0004H
berisi instruksi untuk menambahkan isi register B dan A. Kemudian
decrementkan isi register B. Jika terdapat carry ulangi instruksi pada memori
address 0004H. Jika tidak ada carry lanjutkan program dengan istruksi pengisian
register H dengan data ACH!
2. Register A berisi data EBH. Register D berisi data 7CH. Lokasi memori 0004H
berisi instuksi mengurangkan isi register A dengan isi dari register D. Kemudian
meng-decrementkan isi register D. Jika no zero maka lompat ke segmen $ - 2.
Jika tidak NZ maka lakukan isntruksi pengisian register C dengan data 27H dan
kurangkan isi register A dengan isi register C tersebut !
5
INSTRUKSI JUMP
JUMP ke alamat memory yang dipegang register
1 2
Description:
Merupakan intruksi bersyarat dimana isi dari register menentukan hasil percabangan.
Register B di decrementkan. Bila hasilnya bukan nol maka nilai displacement e
ditambah ke isi PC. Intruksi berikutnya akan diambil dari isi PC terbaru.
7
INSTRUKSI JUMP
N Opcode +
Mnemonic Keterangan
o Operands
1 JP nn C3, n, n Jump ke alamat memory nn
2 JR e 18, e2 Jump ke segment lain
3 JP NZ, nn C2, n, n Jump jika No Zero ke alamat memory nn
4 JP Z, nn CA, n, n Jump jika Zero ke alamat memory nn
5 JP NC, nn D2, n, n Jump jika No Carry ke alamat memory nn
6 JP C, nn DA, n, n Jump jika Carry ke alamat memory nn
7 JP PO, nn E2, n, n Jump jika jumlah 1 genap ke alamat memory nn
8 JP PE, nn EA, n, n Jump jika jumlah 1 ganjil ke alamat memory nn
9 JP P, nn F2, n, n Jump jika S=0 (Positif) ke alamat memory nn
10 JP M, nn FA, n, n Jump jika S= 1 (Negatif) ke alamat memory nn
8
INSTRUKSI JUMP
N Opcode +
Mnemonic Keterangan
o Operands
1 JR C, e 38, e2 Jump jika ada Carry ke segment lain
2 JR NC, e 30, e2 Jump jika No Carry ke segment lain
3 JR Z,e 28, e Jump jika ada Zero ke segment lain
4 JR NZ, e 20, e Jump jika No Zero ke segment lain
5 JP (HL) E9 Jump ke alamat memori yang dipegang HL.
6 JR (IX) DD, E9 Jump ke alamat memori yang dipegang IX.
7 JR (IY) FD, E9 Jump ke alamat memori yang dipegang IY.
8 DJNZ, e 10, e2 Jump jika hasil decrement B bukan nol ke segment lain
9
INSTRUKSI JUMP
Contoh : Tentukan isi alamat-alamat memory dari program dibawah ini dengan
menggunakan alamat awal 0000H.
- LD C, 05H Alamat Memory Contents Mnemonic
0000H 3E LD C, 05H
- DEC C.
0001H 05 -
- JP Z,0009H.
0002H 0D DEC C
- JP 0002H.
0003H CA JP Z, 0009H
- HALT
0004H 09 -
0005H 00 -
0006H C3 JP 0002H
0007H 02 -
0008H 00 -
0009H 76 HALT
9
INSTRUKSI JUMP
FLOWCHART
START
LD C, 05H
DEC C
JP Z, 0009H
tdk
Z = 0? JP 0002H
ya
STOP
9
INSTRUKSI JUMP