Instruksi Mikroprosesor

Setiap mikroprosesor selalu dirancang dan dilengkapi dengan perangkat instruksi. Bentuk perangkat instruksi masing-masing mikroprosesor bergantung jenis arsitektur yang digunakan. Arsitektur mikroprosesor ada tiga jenis yaitu CISC, RIS, dan Super Skalar.

 

INSTRUKSI MIKROPROSESOR ZILOG  Z-80CPU

  •  Mikroprosesor Zilog Z-80 CPU adalah salah satu jenis mikroprosesor yang menggunakan arsitektur CISC.
  • Jumlah instruksi Z-80 CPU cukup banyak yaitu sekitar 141 jenis.

 

INSTRUKSI MIKROPROSESOR ZILOG  Z-80CPU

Instruksi Z-80 CPU dapat digolongkan menjadi 13 kelompok yaitu:

  1. Instruksi  Transfer  Data 8 bit
  2. Instruksi  Transfer Data 16 bit
  3. Instruksi  Pertukaran Data
  4. Instruksi Pelacakan/Search Data
  5. Instruksi  Aritmetika dan Logika 8 bit
  6. Instruksi  Aritmetika Tujuan Umum dan Kendali CPU
  7. Instruksi  Aritmetika 16 bit
  8. Instruksi  Putar dan Geser
  9. Instruksi  Manipulasi  bit
  10. Instruksi Jump
  11. Instruksi Call dan Return
  12. Instruksi RESTART
  13. Instruksi Input dan Output

Bentuk umum transfer data pada Z-80 CPU adalah seperti gambar di bawah ini :

  • Sebagai contoh instruksi LD A, B menunjukkan perintah untuk meng-copy data yang ada di Register B ke Register A.
  • Dalam hal ini Register A berfungsi sebagai  destinasi dan Register B berfungsi sebagai

Source atau asal/sumber data.

Untuk lebih jelasnya mari kita lihat contoh instruksi mikroprosesor di bawah ini.

Instruksi  Transfer  Data 8 bit

Transfer Data 8 bit dapat terjadi diantara:

  • Register Ke Register
  • Memori Ke Register
  • Data Immediate Ke Register
  • Register Ke Memori
  • Memori Ke Memori
  • Data Immediate Ke Memori

Contoh Instruksi Transfer Data dari Register ke Register :

Contoh Instruksi Transfer Data dari Memori ke Register :

Contoh Transfer data Immediate 8 bit ke Register

Contoh Transfer data 8 bit dari Register ke Memori :

Contoh Transfer data 8 bit dari Memori ke Memori :

Contoh Transfer data Immediate 8 bit ke Memori :

Instruksi  Transfer Data 16 bit

Transfer data 16 bit adalah transfer data dengan kapasitas lebih besar dua kali lipat dari transfer data 8 bit. Transfer data 16 bit memiliki lima kemungkinan yaitu:

  • Register ke Register,
  • Register ke Memori,
  • Data Immediate ke Register
  • Memori ke Register,
  • Memori ke Memori

Contoh Transfer data 16 bit dari Register ke Register :

Contoh Transfer data 16 bit dari Memori ke Register:

Contoh Transfer data Immediate 16 bit ke Register:

Contoh Transfer data 16 bit dari Register ke Memori :

Contoh Transfer data 16 bit dari Memori ke Memori :

Instruksi  Pertukaran Data

Contoh Pertukaran Data 16 bit dari Memori ke Memori :

Instruksi Pelacakan/Search Data

Contoh Pelacakan/Search Data Register dan Memori :

Instruksi  Aritmetika dan Logika 8 bit

Contoh Perintah Penambahan :

Contoh Perintah Pengurangan :

Instruksi ADC (ADD With Carry) :

Contoh Instruksi SBC (Sub With Carry):

Contoh Instruksi INC (Increment) :

Contoh Instruksi DEC (Decrement) :

Contoh Instruksi LOGIKA AND, OR, dan XOR :

Instruksi  Aritmetika Tujuan Umum dan Kendali CPU

Dalam operasi aritmetika disediakan beberapa instruksi khusus yaitu :

  • DAA mnemonic dari Decimal Adjust Accumulator
  • CPL mnemonic dari Complement Accumulator (Komplemen 1)
  • NEG mnemonic dari Negate Accumulator (Komplemen 2)

Contoh Instruksi CP (Compare):

Instruksi  Aritmetika 16 bit

Sama seperti Aritmetika 8 bit, tapi operasi yang digunakan pada Register-register 16 bit.

Instruksi  Putar dan Geser

Contoh Instruksi Rotate Left Circular (RLC) :

Contoh Instruksi Rotate Right Circular (RRC) :

Contoh Instruksi Rotate Left (RL) :

Contoh Instruksi Rotate Right (RR):

Contoh Instruksi Shift Left Arithmetic (SLA) :

Contoh Instruksi Shift Right Logical (SRL) :

Instruksi  Manipulasi  bit

Contoh Instruksi Manipulasi Bit :

Instruksi Jump

Dalam mikroprosesor Zilog Z-80 CPU instruksi-instruksi pencabangan mengguna kan instruksi JUMP. Instruksi JUMP membuat mikroprosesor menjadi perangkat yang sangat ampuh. Instruksi JUMP dapat dikategorikan menjadi empat kategori yaitu :

  1. JUMP bersyarat
  2. JUMP tanpa syarat
  3. JUMP absolut
  4. JUMP relatif

Perintah Jump Bersyarat :

JP NZ, nn 
JR NZ, n 
DJNZ, n 
JP Z, nn 
JR Z, n 
JP NC, nn 
JR NC, n 
JP C, nn 
JR C, n 
JPPO, nn 
JPPE, nn 
JPP, nn 
JPM, nn

Perintah JUMP Tanpa Syarat :

JP
JR

Perintah JUMP ABSOLUT TANPA SYARAT :

JP nn

Perintah JUMP RELATIF TANPA SYARAT :

JR e

Di samping Jump bersyarat masih ada tiga jenis Jump lainnya yaitu Jump Absolut berbasis register HL, IX, dan IY dengan mnemonic :

JP (HL)
JP (IX)
JP (IY)

Instruksi Call dan Return

Instruksi CALL dan RET ada dua jenis yaitu :

  • CALL tanpa Syarat
  • CALL bersyarat
  • RET tanpa Syarat
  • RET bersyarat

Perintah CALL bersyarat :

CALL C,nn
CALL M,nn
CALL NC,nn
CALL NZ,nn
CALL Z,nn
CALL P,nn
CALL PE,nn
CALL PO,nn

Perintah CALL tanpa syarat :

CALL nn

Perintah RET bersyarat :

RET C
RET M
RET NC
RET NZ
RET Z
RET P
RET PE
RET PO

Di samping itu ada dua perintah RETURN lainnya yaitu :

RETI : Return from Interrupt
RETN1 : Return from Non Maskable Interrupt

Perintah RETURN tanpa Syarat :

RET

Instruksi RESTART

Perintah Restart alamat yang dipanggil sudah tertentu yaitu :

RST 00h : memanggil alamat 0000h
RST 08h : memanggil alamat 0008h
RST 10h : memanggil alamat 0010h
RST 18h : memanggil alamat 0018h
RST 20h : memanggil alamat 0020h
RST 28h : memanggil alamat 0028h
RST 30h : memanggil alamat 0030h
RST 38h : memanggil alamat 0038h

Instruksi Input dan Output

Pengalamatan I/O dapat menggunakan pengalamat langsung (direct) atau tidak langsung (indirect).

IN A,(41) : Masukan isi port B ke reg A

OUT (40),A : Tampilkan data reg A di port A

 

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *