Anda di halaman 1dari 18

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 Logika
Jenis Operasi Operand1 Operand2 Hasil

OR 0 0 0
1 0 1
0 1 1
1 1 1
AND 0 0 0
1 0 0
0 1 0
1 1 1
XOR 0 0 0
1 0 1
0 1 1
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, BL
yaitu 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, 20
2. MOV AH, 02 5. INT 21
3. 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.AND
b. OR d. Test

2. Perintah yang memanfaatkan operasi AND untuk


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

3. Bila diberikan perintah OR pada dua bilangan biner


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

4. Operasi logika yang biasa digunakan untuk


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

5. Dibawah ini yang bukan teemasuk operasi logika pada


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

1. Operator logika yang digunakan untuk mereset nilai


register menjadi 0 yaitu :
a. XOR c.AND
b. OR d. Test

Anda mungkin juga menyukai