Manipulasi Bit dan Logika Bhakti Yudho Suprapto, MT
Gerbang NOT +-----+----------+ | A | Not (A) | | 0 | 1 | | 1 | 0 |
Operasi Not di dalam assembler NOT Tujuan,Sumber Hasil dari operasi not ini akan disimpan pada Tujuan, sebagai contoh, instruksi NOT AL,3Fh akan menghasilkan nilai C0h bagi AL.
Lihat operasi di atas secara per bit
GERBANG AND Operator AND akan menghasilkan nilai nol bila salah satu operandnya bernilai nol. Dan hanya akan bernilai satu bila kedua operandnya bernilai satu
GERBANG AND
Operasi AND di dalam assembler 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
Operasi OR di dalam assembler 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
GERBANG XOR Operator XOR akan menghasilkan nol untuk dua nilai yang sama nilainya dan satu untuk yang berbeda
Operasi XOR di dalam assembler 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
TEST Perintah Test digunakan untuk mengetahui nilai pada suatu bit : TEST Operand1,Operand2 Perintah test akan mengAND kedua nilai operand, tetapi hasil yang didapatkan tidak akan berpengaruh terhadap nilai kedua operand tersebut Adapun flags yang terpengaruh adalah CF,OF,PF,ZF,SF dan AF. TEST AX,0Fh JNZ Proses ; Lompat jika Zerro flag 0
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
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
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)