Barak Pert.9

18
Operasi Logika

Transcript of Barak Pert.9

Page 1: Barak Pert.9

Operasi Logika

Page 2: Barak Pert.9

Pada Assambler terdapat beberapa jenis operasi logika. Pada pertemuan ini akan dibahas tiga dari beberapa jenis operasi logika, antara lain AND, ORT dan XOR dan sebuah perintah Asssambler yang memanfaatkan operasi logika. Ketiga operasi logika tersebut mempunyai kemampuan sendiri-sendiri untuk dimanfaatkan .

Adapun kegunaan pokok dari operasi logika adalah untuk membandingkan isi suatu register atau variabel dengan ketetapan sebagai berikut :

Page 3: Barak Pert.9

Tabel1. Operasi LogikaTabel1. Operasi Logika

Jenis Operasi Operand1 Operand2 Hasil

OR

0

1

0

1

0

0

1

1

0

1

1

1

AND

0

1

0

1

0

0

1

1

0

0

0

1

XOR

0

1

0

1

0

0

1

1

0

1

1

0

Page 4: Barak Pert.9

Sedangkan tata penulisan operasi logika adalah

  OR / AND / XOR Operand1, Operand2

  Syarat operand1 adalah variabel, register ataupun isi lokasi memory, sedangkan operand2 adalah register, variabel, isi lokasi memory atau suatu angka. Hasil dari operasi logika tersebut akan selalu ditampung di operand1.

Page 5: Barak Pert.9

Adapun contoh-contoh penggunaan operasi logika ini adalah :

- OR AL, BH

yaitu melakukan proses OR terhadap BH ke AL. Hasilnya akan ditampung di AL, misalnya AL berisikan 11000011 dan BH berisikan 01110110, maka hasil yang ditampung di AL adalah 11110111

Page 6: Barak Pert.9

- XOR BH, BH

yaitu melakukan proses XOR BH terhadap BH, misalnya isi register BH adalah 11000011, maka hasil yang ditampung di BH adalah : 00000000. Karena hasil XOR suatu operand (register, variabel, lokasi memory) terhadap memory sendiri akan menghasilkan nol, maka perintah XOR sering digunakan untuk menolkan suatu operand

Page 7: Barak Pert.9

- AND BH, BLyaitu melakukan proses AND BL terhadap BH, misal isi register BH adalah 11000011 dan BL 10001111, maka hasil yang ditampung di BH adalah 10000011. Karena ciri khas AND, maka operasi logika AND sering digunakan untuk mengosongkan isi sebagian register ataupun variabel ataupun isi lokasi memory.

Perintah Assambler TEST memanfaatkan proses AND untuk mengetahui komposisi suatu bit tertentu. Perintah TEST akan mempengaruhi beberapa flag yang terdapat di dalam flag register diantara Carry Flag.

Page 8: Barak Pert.9

Adapun aturan penulisan TEST adalah :

TEST Operand1, Operand2

 

Dengan syarat Operand1 adalah register, variabel atau isi suatu lokasi memory dan Operand2 adalah register, variabel atau angka yang akan diteskan kepada Operand1.

Page 9: Barak Pert.9

Contoh:

TEST AL, 20

JC 0100

Maksud perintah di atas adalah mencek apakah pada register AL bit kelima (20h= 00100000) berisi 1, bila ‘Ya’, maka loncat ke arah segment :0100 dan bila tidak lanjutkan ke bawah.

Page 10: Barak Pert.9

Contoh program di bawah ini akan menjelaskan lebih lanjut tentang Operasi Logika:

 MOV DL, 61 MOV AH, 02 INT 21 AND DL, 0DF INT 21 INT 20

Page 11: Barak Pert.9

Pada program di atas akan dilakukan pencetakkan huruf a kecil kemudian dilanjutkan dengan A besar, yang dilakukan komputer dalam hal ini adalah melakukan proses AND terhadap bit kelima dari 61 hexa (ASCII a kecil) menjadi 41 hexa (ASCII A besar), dimana proses AND itu sendiri adalah

 61 hexa = 01100001 biner

df hexa = 11011111 biner AND

01000001 biner adalah 41 hexa

Page 12: Barak Pert.9

1. MOV DL, 41 4. OR DL, 202. MOV AH, 02 5. INT 213. INT 21 6. INT 20

Pada program diatas akan melakukan pencetakan huruf A besar diikuti a kecil. Hal yang dilakukan untuk itu adalah melakukan proses OR terdapat bit kelima dari 41 hexa, dimana proses OR sendiri adalah :41 hexa = 01000001 biner 20 hexa = 00100000 biner OR

01100001 biner adalah 61 hexa

Page 13: Barak Pert.9

SOAL-SOAL

Page 14: Barak Pert.9

1. Operator logika yang digunakan untuk mereset nilai register menjadi 0 yaitu :a. XOR c.ANDb. OR d. Test

2. Perintah yang memanfaatkan operasi AND untuk mengetahui komposisi suatu bit adalah :a. AND c. XORb. Test d. OR

Page 15: Barak Pert.9

2. Perintah yang memanfaatkan operasi AND untuk mengetahui komposisi suatu bit adalah :a. AND c. XORb. Test d. OR

3. Bila diberikan perintah OR pada dua bilangan biner 0101 0010 dan 1001 1010, maka hasilnya adalah :a. 00010010 c. 11011010b. 11001100 d. 00100101

Page 16: Barak Pert.9

3. Bila diberikan perintah OR pada dua bilangan biner 0101 0010 dan 1001 1010, maka hasilnya adalah :a. 00010010 c. 11011010b. 11001100 d. 00100101

4. Operasi logika yang biasa digunakan untuk mengosongkan sebagian isi regsiter :a. XOR c. Testb. OR d. AND

Page 17: Barak Pert.9

4. Operasi logika yang biasa digunakan untuk mengosongkan sebagian isi regsiter :a. XOR c. Testb. OR d. AND

5. Dibawah ini yang bukan teemasuk operasi logika pada assembler :a. NOR c. XORb. AND d. OR

Page 18: Barak Pert.9

5. Dibawah ini yang bukan teemasuk operasi logika pada assembler :a. NOR c. XORb. AND d. OR

1. Operator logika yang digunakan untuk mereset nilai register menjadi 0 yaitu :a. XOR c.ANDb. OR d. Test