| SMKN 2 YOGYAKARTA | Kompetensi | Kode : 07/PDTM/KL10/SR |
|-----------------------------------|------------------------------------|-----------------------------------|
| Prog. Keahlian : Tek. Audio Video | OPERASI ADD, SUB DAN OPERASI LOGIK | Waktu : menit |
| Prog. Diklat : PDTM | | Nama Siswa : |
| Kelas : 10 AV | | Tanggal : |

Operasi ADD, SUB dan Operasi Logika
Kriteria Unjuk Kerja:
- Melakukan operasi penambahan (Adder) dengan mikroprosessor.
- Melakukan operasi pengurangan (Substractor) dengan mikroprosessor.
- Mengetahui operasi logik yang ada pada mikroprosessor
- Melakukan operasi logik AND, OR dan XOR dengan mikroprosessor.
Operasi Adder (ADD)/Penjumlah
Adder/Penjumlah adalah operasi yang digunakan untuk menjumlahkan dua buah data hexadecimal yang berada di register dengan register atau data di register dengan data di memori. Syarat untuk menjumlahkan dua buah data hexadecimal tersebut ialah salah satu data harus berada di Accumulator, sedang data yang lain berada di salah satu register. Hasil dari penjumlahan dua data tersebut berada di Accumulator.
Format : ADD r
Dimana ADD : perintah tambahkan Accumulator
r : nama register
Contoh:
- Di register C tersimpan data 21 H dan di register L tersimpan data 12 H.
- Tambahkan data yang berada di register C dengan data di register L.
Jawab:
Struktur Program,
| Mengisi register C dengan data 21 |
|---------------------------------------------------------|
| Mengisi register L dengan data 12 |
| Pindahkan ke Accumulator data dari register C |
| Tambahkan data di Accumulator dengan data di register L |
| Akhir program |
Program,
| Alamat Memori | Bahasa | | Keterangan |
|---------------|----------|---------|---------------------------------------------------------|
| | Assembly | Mesin | |
| 1800 | LD C,21 | 0E 21 | Mengisi register C dengan data 21 |
| 1802 | LD L,12 | 2E 12 | Mengisi register L dengan data 12 |
| 1804 | LD A,C | 79 | Pindahkan ke Accumulator data dari register C |
| 1805 | ADD L | 85 | Tambahkan data di Accumulator dengan data di register L |
| 1806 | RST 0038 | FF | Akhir program |
Jalankan program dengan menekan tombol RST-PC-GO. Melihat hasil dengan menekan tombol REG diikuti nama register.
Hasil:
- Register C = ......
- Register L = ......
- Accumulator = ......
Operasi Substractor (SUB)/Pengurang
Operasi SUB/pengurang digunakan untuk mengurangkan dua buah data hexadecimal yang berada di register dengan register atau data di register dengan data di memori. Syarat untuk operasi pengurangan dua buah data hexadecimal tersebut ialah data yang dikurangi harus berada di Accumulator, sedang data pengurang berada di salah satu register. Hasil operasi tersimpan di Accumulator.
Format : ADD r
Dimana SUB : perintah kurangi Accumulator
r : nama register
Contoh: Di register D tersimpan data 0E hexadecimal, di register E tersimpan data 05 hexadesimal. Kurangi data di register D dengan data di register E. Simpan hasil operasi di register H.
Jawab:
Struktur Program,
| Mengisi register D dengan data 0E |
|-------------------------------------------------------|
| Mengisi register E dengan data 05 |
| Pindahkan ke Accumulator data dari register D |
| Kurangi data di Accumulator dengan data di register E |
| Pindahkan/copy ke register H data dari Accumulator |
| Akhir program |
Program,
| Alamat Memori | Bahasa | | Keterangan |
|---------------|----------|---------|-------------------------------------------------------|
| | Assembly | Mesin | |
| 1800 | LD D,0E | 16 0E | Mengisi register D dengan data 0E |
| 1802 | LD E,05 | 1E 05 | Mengisi register E dengan data 05 |
| 1804 | LD A,D | 7A | Pindahkan ke Accumulator data dari register D |
| 1805 | SUB E | 93 | Kurangi data di Accumulator dengan data di register E |
| 1806 | LD H,A | 67 | Pindahkan/copy ke register H data dari Accumulator |
| 1807 | RST 0038 | FF | Akhir program |
Jalankan program dengan menekan tombol RST-PC-GO. Melihat hasil dengan menekan tombol REG diikuti nama register.
Hasil:
- Register D = ......
- Register E = ......
- Accumulator = ......
- Register H = ......
Catatan
Untuk operasi adder (ADD) atau substractor (SUB) yang datanay diambil dari alamat memori, penunjukan alamat memori menggunakan pasangan register HL. Jadi untuk menjalankan operasi Adder (ADD) atau substractor (SUB) ialah:
ADD (HL) : tambahkan Accumulator dengan data pada alamat memori yang ditunjuk oleh pasangan registr HL
SUB (HL) : kurangi Accumulator dengan data pada alamat memori yang ditunjuk oleh pasangan registr HL.
Operasi Logik AND, OR dan XOR
Operasi Logik yang dimiliki oleh mikroprosessor ialah operasi logik AND, OR dan XOR, dimana dari ketiga operasi logit tersebut memiliki fungsi sendiri-sendiri, yaitu:
Operasi AND: ialah operasi logik dimana apabila masukan/input dua buah data hexadesimal tersebut salah satu bit-nya berlogik 0, maka hasil operasi berlogik 0.
Accumulator = DF : 10111111
Register H = 0F : 00001111
-------------------------------------- AND
Accumulator = 0F : 00001111
Format : AND r
Dimana AND: perintah AND-kan Accumulator
r : nama register
Operasi OR: ialah operasi logik dimana apabila masukan/input dua buah data hexadecimal tersebut salah satu bit-nya berlogik 1, maka hasil operasi berlogik 1.
Accumulator = DF : 10111111
Register H = 0F : 00001111
-------------------------------------- OR
Accumulator = DF : 10111111
Format : OR r
Dimana OR : perintah OR-kan Accumulator
r : nama register
Operasi XOR: ialah operasi logik dimana apabila masukan/input dua buah data hexadecimal tersebut kedua bit-nya berlogik sama, maka hasil operasi berlogik 0.
Accumulator = DF : 10111111
Register H = 0F : 00001111
-------------------------------------- XOR
Accumulator = D0 : 10110000
Format : XOR r
Dimana XOR: perintah XOR-kan Accumulator
r : nama register
Tugas:
1. Buatlah program mikrorosessor Z-80 untuk mengisi register H dengan data 03 H, register E menyimpan data 02 H. Pada alamat 1A00 tersimpan data 05 H.
- tambahkan data pada alamat 1A00 dengan data di register E.
- tambahkan data di register H dengan hasil penjumlahan di atas (soal a).
2. Di Accu tersimpan data 26 H, di register B tersimpan data 06 H, di pasangan register DE tersimpan data 0320 H.
- tambahkan data di register B dengan data di register D.
- kurangi data di Accu dengan data di register E.
- kurangi jawan saol a dengan jawaban soal b.
3. Di alamat memori 1C00 tersimpan data 62 H.
- OR-kan data di alamat memori 1C00 dengan data 8C Hexsadesimal, simpan hasinya di alamat memori 1C01.
- AND-kan hasil operasi soal a dengan data BA Hexsadesimal, simpan hasinya di alamat memori 1C02.
- XOR-kan hasil operasi soal b dengan data AA Hexsadesimal, simpan hasilnya di alamat memori 1C03.