Manipulasi Bit Dan Logika Bahasa Rakitan

Gerbang Not

Operator NOT akan menginvers suatu nilai seperti yang terlihat pada gambar 10.1.

A

Not (A)

0

1

1

0

Gambar 10.1. Tabel Operator NOT

Operasi Not di dalam assembler, digunakan dengan syntax :
NOT Tujuan,Sumber

Hasil dari operasi not ini akan disimpan pada Tujuan, sebagai contoh, instruksi NOT AL,3Fh akan menghasilkan nilai C0h bagi AL. Mungkin masih ada pembaca yang bingung dengan operasi ini. Baiklah untuk lebih jelasnya kita lihat operasi di atas secara per bit.
     3    F
+----+-++---+--+
Bilangan                      :  0011 1111
         C            0
+----+-++---+--+
Not : 1100 0000

Gerbang And

Operator AND akan menghasilkan nilai nol bila salah satu operandnya bernilai nol. Dan hanya akan bernilai satu bila kedua operandnya bernilai satu.
A
B

A AND B

0
0
0
0
1
0
1
0
0
1
1
1

Gambar 10.2. Tabel Operator AND

Operasi AND di dalam assembler, digunakan dengan syntax :
AND Tujuan,Sumber

Hasil dari operasi AND ini akan disimpan pada Tujuan, sebagai contoh, instruksi :
MOV AL,3Fh
MOV BL,1Ah
AND AL,BL

Perintah diatas akan menghasilkan nilai 1A bagi register AL. Ingatlah :
Setiap bit yang di AND dengan 0 pasti menghasilkan bit 0 juga, sedangkan setiap bit yang di AND dengan 1 akan menghasilkan bit itu sendiri.

Gerbang Or

Operator logik OR akan menghasilkan nilai nol bila kedua operannya bernilai nol dan satu bila salah satunya bernilai satu.

A

B
A OR B
0
0
0
0
1
1
1
0
1
1
1
1

Gambar 10.3. Tabel Operator OR

Operasi OR di dalam assembler, digunakan dengan syntax :
OR Tujuan,Sumber

Hasil dari operasi OR ini akan disimpan pada Tujuan, sebagai contoh,instruksi :
MOV AL,3Fh
MOV BL,1Ah
OR AL,BL

Hasil operasi OR diatas akan menghasilkan nilai 3F bagi register AL. Ingatlah :
Setiap bit yang di OR dengan 0 pasti menghasilkan bit itu sendiri, sedangkan setiap bit yang di OR dengan 1 pasti menghasilkan bit 1.

Gerbang Xor

Operator XOR akan menghasilkan nol untuk dua nilai yang sama nilainya dan satu untuk yang berbeda.

A

B
A XOR B
0
0
0
0
1
1
1
0
1
1
1
0

Gambar 10.4. Tabel Operator XOR

Operasi XOR di dalam assembler, digunakan dengan syntax :
XOR Tujuan,Sumber

Hasil dari operasi XOR ini akan disimpan pada Tujuan, sebagai, contoh instruksi :
MOV AX,0A12h
XOR AX,AX

Hasil operasi XOR diatas pasti akan menghasilkan nilai 0 bagi register AX. Ingatlah: Setiap bilangan yang di XOR dengan bilangan yang sama pasti menghasilkan bilangan 0.

Test

Perintah Test digunakan untuk mengetahui nilai pada suatu bit, dengan syntax :
TEST Operand1,Operand2

Perintah test akan mengAND kedua nilai operand, tetapi hasil yang didapatkan tidak akan berpengaruh terhadap nilai kedua operand tersebut.

Setelah perintah Test dilaksanakan yang akan terpengaruh adalah Flags, sehingga perintah ini sering diikuti dengan perintah yang berhubungan dengan kondisi flags. Adapun flags yang terpengaruh adalah CF,OF,PF,ZF,SF dan AF.
TEST AX,0Fh
JNZ Proses ; Lompat jika Zerro flag 0

Pada perintah diatas komputer akan menuju ke label Proses bila ada satu bit atau lebih dari AX yang sama dengan 0Fh. Bila diikuti dengan perintah JC Proses, maka komputer akan menuju ke label proses bila keempat byte rendah pada AL semuanya 1(?F).

SHL ( Shift Left )

Operator SHL akan menggeser operand1 ke kiri sebanyak operand2 secara per bit. Kemudian bit kosong yang telah tergeser di sebelah kanannya akan diberi nilai nol. Operator SHL digunakan dengan syntax :
SHL Operand1,Operand2

Supaya lebih jelas bisa anda lihat pada gambar 10.5. Operand2 harus digunakan register CL bila pergeseran yang dilakukan lebih dari satu kali.
                                       +---------------------------------+
            <---------------   |                                                    | <-------------- 0
                                       +---------------------------------+

Gambar 10.5. Operasi SHL

Instruksi : MOV AX,3Fh
MOV CL,3
SHL AX,CL ; Geser 3 bit ke kiri

Akan menghasilkan nilai F8h pada register AX. Operasi detilnya dapat dilihat di bawah ini.
3Fh : 0011 1111
SHL 1 : 0111 1110 (=7Eh)
SHL 2 : 1111 1100 (=FCh)
SHL 3 : 1111 1000 (=F8h)

SHR ( Shift Right )

Operator SHR akan menggeser operand1 ke kanan sebanyak operand2 secara per bit dan menambahkan nilai nol pada bit yang tergeser seperti halnya pada operator SHL. Operator SHR digunakan dengan syntax :
SHR Operand1,Operand2

Supaya lebih jelas anda bisa lihat pada gambar 10.6. Operand2 harus digunakan register CL bila pergeseran yang dilakukan lebih dari satu kali.
                                                +---------------------+
                    0 ------------>|                           | ----------->
                                                +---------------------+

Gambar 10.6. Operasi SHR

Instruksi : MOV AX,3Fh
MOV CL,3
SHR AX,CL ; Geser 3 bit ke kanan

Akan menghasilkan nilai 07h pada register AX. Operasi detilnya dapat dilihat di bawah ini.
3Fh : 0011 1111
SHR 1 : 0001 1111 (=1Fh)
SHR 2 : 0000 1111 (=0Fh)
SHR 3 : 0000 0111 (=07h)


Nah, sekian pembahasan saya kali ini mengenai Manipulasi Bit Dan Logika Bahasa Rakitan.
Semoga bermanfaat..

» JANGAN LUPA LIKE N Komentarnya Yeach...

Tidak ada komentar:

Posting Komentar