Barak Pert.9
Transcript of Barak Pert.9
Operasi Logika
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 :
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
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.
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
- 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
- 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.
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.
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.
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
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
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
SOAL-SOAL
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
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
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
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
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