Instruksi EX EX DE,HL Instruksi EXX EXX Instruksi LD LD reg

13 cepat dan efisien dalam memori atau antara memori dan IO. Demikian juga instruksi mikroprosesor Zilog Z80 dibagi ke dalam kategori pemuatan 8-bit, pemuatan 16-bit, pertukaran, transfer blok, pencarian, operasi logika dan aritmatika 8-bit, kontrol CPU Perputaran rotasi dan pergeseran shift, operasi set, reset dan tes bit, lompatan, pemanggilan call, kembali return dan restart, serta Operasi masukan dan keluaran. Berikut merupakan penjelasan setiap instruksi yang dapat dioperasionalkan pada mikroprosesor Z80, meliputi deskripsi fungsi instruksi, op-code, dampak opeasi terhadap flag dan state yang diperlukan untuk pelaksanaan sebuah instruksi tersebut.

1. Instruksi Transfer Data Z80.

Instruksi transfer data merupakan instruksi yang digunakan oleh mikroprosesor Z80 untuk memindahkan data dari satu register ke register lainnya, dari satu register ke suatu lokasi memori atau memindahkan data dari satu lokasi memori ke lokasi memori yang lain atau dari memori ke register. Untuk instruksi transfer ini meliputi instruksi EX, EXX, LD, LDD, LDDR, LDI, LDIR, POP, PUSH.

a. Instruksi EX EX DE,HL

Operasi pertukaran 16-bit antara isi register DE dan HL. Op Code 11101011 T State 4 EX AF,AF Operasi pertukaran 16-bit antara isi register AF dan AF. 14 Op Code 00001000 T State 4 EX SP,HL Operasi pertukaran SP dengan L, dan SP+1 dengan H. Op Code 11100011 T State 19 EX SP,reg index Operasi pertukaran SP dengan LSB dari reg index , dan SP+1 dengan MSB dari reg index . Op Code [reg index ] : 11100011 Register Bit IX 11011101 IY 11111101 T State 23

b. Instruksi EXX EXX

Operasi pertukaran 16-bit isi dari BC, DE, dan HL dengan BC, DE, dan HL. Op Code 11011001 T State 4 15

c. Instruksi LD LD reg

8 D,reg 8 S Operasi Isi dari register reg 8 S disimpan ke dalam reg 8 D. Op Code 01[reg 8 D][reg 8 S] Register Bit A 111 B 000 C 001 D 010 E 011 H 100 L 101 HL 110 T State 4 atau 7 HL LD reg 8 ,imm 8 Operasi Menyimpan nilai immediate ke register reg 8 . Op Code 00[reg 8 ]110 : [imm 8 ] Register Bit A 111 B 000 C 001 D 010 E 011 H 100 16 L 101 HL 110 T State 7 atau 10 HL LD reg 8 ,reg index + ofs 8 Operasi Menyimpan nilai ditunjuk oleh reg index ditambah ofs 8 ke dalam reg 8 . Op Code [reg index ] : 01[reg 8 ]110 : [ofs 8 ] Register Bit IX 11011101 IY 11111101 Register Bit A 111 B 000 C 001 D 010 E 011 H 100 L 101 T State 19 17 LD reg index + ofs 8 ,reg 8 Operasi Menyimpan reg 8 ke lokasi memori yang ditunjuk oleh reg index ditambah ofs 8 . Op Code reg index : 01110[reg 8 ] : [ofs 8 ] Register Bit IX 11011101 IY 11111101 Register Bit A 111 B 000 C 001 D 010 E 011 H 100 L 101 T State 19 LD reg index + ofs 8 , imm 8 Operasi Menyimpan data immediate ke lokasi memori yang ditunjuk oleh reg index ditambah ofs 8 . Op Code [reg index ] : 00110110 : [ofs 8 ] : [imm 8 ] Register Bit IX 11011101 IY 11111101 T State 19 18 LD A,reg 16 Operasi Menyimpan isi memori yang ditunjuk oleh reg 16 ke dalam A. Op Code 000[reg 16 ]1010 Register Bit BC DE 1 T State 7 LD A,imm 16 Operasi Menyimpan isi memori yang ditunjuk oleh imm 16 ke dalam A. Op Code 00111010 : [imm LSB ] : [imm MSB ] T State 13 LD reg 16 ,A Operasi Menyimpan A ke dalam memori yang ditunjuk oleh reg 16 . Register Bit BC DE 1 Op Code 000[reg 16 ]0010 T State 7 LD imm 16 ,A Operasi Menyimpan A ke dalam memori yang ditunjuk oleh imm 16 . Op Code 00110010 : [imm LSB ] : [imm MSB ] T State 13 19 LD A,{ I | R } Operasi Menyimpan isi register I atau R ke dalam A Op Code 11101101 : 0101[reg]111 Register Bit I R 1 Flag S Z berubah sesuai yang diinginkan ditentukan. H N di-reset. PV pegang IFF2. C tidak berubah. T State 9 LD { I | R },A Operasi Menyimpan nilai A ke dalam register I atau R. Op Code 11101101 : 0100[reg]111 Register Bit I R 1 T State 9 LD reg 16 ,imm 16 Operasi Menyimpan data immediate ke dalam register reg 16 . Op Code 00[reg 16 ]0001 : [imm LSB ] : [imm MSB ] Register Bit BC 00 DE 01 20 HL 10 SP 11 T State 10 LD reg index ,imm 16 Operasi Menyimpan data immediate ke dalam register reg index Op Code [reg index ] : 00100001 : [imm LSB ] : [imm MSB ] Register Bit IX 11011101 IY 11111101 T State 14 LD HL,imm 16 Operasi Menyimpan isi memori yang ditunjuk oleh imm 16 ke dalam HL. Op Code 00101010 : [imm LSB ] : [imm MSB ] T State 16 LD reg 16 ,imm 16 Operasi Menyimpan isi memori yang ditunjuk oleh imm 16 ke dalam register reg 16 . Op Code 11101101 : 01[reg 16 ]1011 : [imm LSB ] : [imm MSB ] Register Bit BC 00 DE 01 HL see Undocumented 10 SP 11 21 T State 20 LD reg index ,imm 16 Operasi Menyimpan isi memori yang ditunjuk oleh imm 16 ke dalam index register reg index . Op Code [reg index ] : 00101010 : [imm LSB ] : [imm MSB ] Register Bit IX 11011101 IY 11111101 T State 20 LD imm 16 ,HL Operasi Menyimpan isi HL ke dalam memori yang ditunjuk oleh imm 16 . Op Code 00100010 : [imm LSB ] : [imm MSB ] T State 16 LD imm 16 ,reg 16 Operasi Menyimpan isi register reg 16 ke dalam memori yang ditunjuk oleh imm 16 . Op Code 11101101 : 01[reg 16 ]0011 : [imm LSB ] : [imm MSB ] Register Bit BC 00 DE 01 HL 10 SP 11 22 T State 20 LD imm 16 ,reg index Operasi Menyimpan isi index register reg index ke dalam meori yang ditunjuk oleh imm 16 . Op Code [reg index ] : 00100010 : [imm LSB ] : [imm MSB ] Register Bit IX 11011101 IY 11111101 T State 20 LD SP,HL Operasi Menyimpan isi HL ke dalam SP Op Code 11111001 T State 6 LD SP,reg index Operasi Menyimpan isi index register reg index ke dalam SP. Op Code [reg index ] : 11111001 Register Bit IX 11011101 IY 11111101 T State 10 23

d. Instruksi LDD LDD