Anda di halaman 1dari 7

PRAKTIKUM MIKROPROSESOR DAN BAHASA RAKITAN

MANIPULASI BIT DAN LOGIKA

TUJUAN
1. Mahasiswa memahami dan mengerti tentang berbagai operasi manipulasi bit dan logika
dalam bahasa mesin

DASAR TEORI
Operasi manipulasi bit dan logika merupakan salah satu operasi yang paling sederhana
dalam bahasa mesin. Operasi bit dan logika pada umumnya dipergunakan untuk
menyederhanakan akses ke port – port maupun register – register. Misalnya untuk
menghidupkan sebuah pin pada mikroprosesor maka cukup menghidupkan bit yang
bersangkutan tanpa perlu mengubah keseluruhan isi register port tersebut. Cara ini selain lebih
efektif, juga lebih cepat dalam eksekusinya. Adapun operasi bit dan logika yang ada dalam
bahasa mesin antara lain : NOT, AND, OR, XOR, TEST, SHR, SHL.
NOT dipergunakan untuk menghasilkan inverting dari bit-bit masukannya. Tabel kebenaran dari
operasinya sebagai berikut :
Input Output
1 0
0 1

Sintaknya dalam bahasa assembly yaitu :


NOT variabel
Hasil dari operasi NOT akan disimpan di dalam register variabelnya sendiri.
AND merupakan operasi logika di mana keluaran akan bernilai 1 jika kedua masukannya
bernilai 1 juga. Tabel kebenaran operasi AND adalah sebagai berikut :
Input 1 Input 2 Output
0 0 0
0 1 0
1 0 0
1 1 1

Sintaksnya dalam bahasa mesin yaitu :


AND Tujuan, Sumber

1
Data di register Tujuan akan di – AND dengan data pada register Sumber, untuk selanjutnya
hasilnya akan disimpan di Tujuan.
OR merupakan operasi logika di mana keluaran akan bernilai 1 jika salah satu masukan bernilai
1 juga. Tabel kebenaran operasi OR adalah sebagai berikut :
Input 1 Input 2 Output
0 0 0
0 1 1
1 0 1
1 1 1
Sintaksnya dalam bahasa mesin yaitu :
OR Tujuan, Sumber
Data di register Tujuan akan di – OR dengan data pada register Sumber, untuk selanjutnya
hasilnya akan disimpan di Tujuan.
XOR merupakan operasi logika di mana keluaran akan bernilai 1 jika kedua masukannya
berbeda nilainya dan bernilai 0 jika kedua masukannya sama nilainya. Tabel kebenaran operasi
XOR adalah sebagai berikut :
Input 1 Input 2 Output
0 0 0
0 1 1
1 0 1
1 1 0
Sintaksnya dalam bahasa mesin yaitu :
XOR Tujuan, Sumber
Data di register Tujuan akan di – XOR dengan data pada register Sumber, untuk selanjutnya
hasilnya akan disimpan di Tujuan.
TEST merupakan operasi untuk mengetes suatu data, apakah sama atau tidak. Sama dalam hal
ini bisa diartikan memiliki pola bit yang sama. TEST tidak mengubah nilai pada operan-
operannya, tapi mengubah nilai pada register flag. Bit-bit flag yang berubah yaitu : CF, OF, PF,
ZF, SF, dan AF. Adapun sintaksnya sebagai berikut :
TEST Operan1, Operan2
Operasi penggeseran bit dalam bahasa mesin yaitu Shift Right(SHR), Shift Left(SHL), Rotate
Right(RR), dan Rotate Left(RL). Shift Right merupakan operasi bit di mana bit-bit data akan
digeser ke kanan sebanyak yang telah ditentukan pada Operan2. Bit-bit yang telah digeser akan

2
diisi dengan nol. Shift Right merupakan cara lain untuk melakukan pembagian berbasis 2.
Sintaksnya sebagai berikut :
SHR Operan1, Operan2
Sedangkan SHL merupakan operasi kebalikan dari SHR. Shift Left merupakan cara lain untuk
melakukan perkalian berbasis 2. Sintaksnya sebagai berikut :
SHL Operan1, Operan2
Rotate Left (ROL) merupakan operasi bit di mana bit-bit datanya akan diputar ke kiri sebanyak
Operan2 kali. Operasi ini hampir sama dengan SHL, namun ROL tetap mempertahankan bit asli
datanya. Sintaksnya sebagai berikut :
ROL Operan1, Operan2
Rotate Right (ROR) merupakan operasi bit di mana bit-bit datanya akan diputar ke kanan
sebanyak Operan2 kali. Operasi ini hampir sama dengan SHR, namun ROR tetap
mempertahankan bit asli datanya. Sintaksnya sebagai berikut :
ROR Operan1, Operan2

PROSEDUR PERCOBAAN
A. NOT
1. Tuliskan program assembly berikut menggunakan TASM , lalu lingking menjadi COM :
.Model Small
.Code
ORG 100h

Proses :
MOV AL, 066h
NOT AL
MOV BX, 0dfeah
NOT BX
INT 20h
End Proses
2. Debug hasil lingking menggunakan DEBUG dengan mengetikkan perintah berikut pada
Command Prompt DOS :
DEBUG [nama file com]
3. Trace program tersebut dan amati hasilnya serta perubahan pada register dan flagnya.
Simpan hasil screenshot-nya sebagai dokumentasi Anda masing – masing.

3
B. AND
1. Tuliskan program assembly berikut menggunakan TASM , lalu lingking menjadi COM :
.Model Small
.Code
ORG 100h

Proses :
MOV AL, 066h
MOV AH, 0aah
AND AH, AL
MOV BX, 0dfeah
AND BX, AX
INT 20h
End Proses
2. Debug hasil lingking menggunakan DEBUG dengan mengetikkan perintah berikut pada
Command Prompt DOS :
DEBUG [nama file com]
3. Trace program tersebut dan amati hasilnya serta perubahan pada register dan flagnya.
Simpan hasil screenshot-nya sebagai dokumentasi Anda masing – masing.

C. OR
1. Tuliskan program assembly berikut menggunakan TASM , lalu lingking menjadi COM :
.Model Small
.Code
ORG 100h

Proses :
MOV AL, 066h
MOV AH, 0aah
OR AH, AL
MOV BX, 0dfeah
OR BX, AX
INT 20h
End Proses
2. Debug hasil lingking menggunakan DEBUG dengan mengetikkan perintah berikut pada
Command Prompt DOS :
DEBUG [nama file com]
3. Trace program tersebut dan amati hasilnya serta perubahan pada register dan flagnya.
Simpan hasil screenshot-nya sebagai dokumentasi Anda masing – masing.

4
D. XOR
1. Tuliskan program assembly berikut menggunakan TASM , lalu lingking menjadi COM :
.Model Small
.Code
ORG 100h

Proses :
MOV AL, 066h
MOV AH, 0aah
XOR AH, AL
MOV BX, 0dfeah
XOR BX, AX
INT 20h
End Proses
2. Debug hasil lingking menggunakan DEBUG dengan mengetikkan perintah berikut pada
Command Prompt DOS :
DEBUG [nama file com]
3. Trace program tersebut dan amati hasilnya serta perubahan pada register dan flagnya.
Simpan hasil screenshot-nya sebagai dokumentasi Anda masing – masing.

E. TEST
1. Tuliskan program assembly berikut menggunakan TASM , lalu lingking menjadi COM :
.Model Small
.Code
ORG 100h

Proses :
MOV AL, 066h
TEST AL, 0aah
TEST AL, 066h

MOV BX, 0dfeah


TEST BX, 0aacch
TEST BX, 0dfeah
INT 20h
End Proses
2. Debug hasil lingking menggunakan DEBUG dengan mengetikkan perintah berikut pada
Command Prompt DOS :
DEBUG [nama file com]
3. Trace program tersebut dan amati hasilnya serta perubahan pada register dan flagnya.
Simpan hasil screenshot-nya sebagai dokumentasi Anda masing – masing.

5
F. SHR dan SHL
1. Tuliskan program assembly berikut menggunakan TASM , lalu lingking menjadi COM :
.Model Small
.Code
ORG 100h

Proses :
MOV AX, 36h
MOV CL, 3
SHR AX, CL

MOV AX, 36h


MOV CL, 3
SHL AX, CL

INT 20h
End Proses
2. Debug hasil lingking menggunakan DEBUG dengan mengetikkan perintah berikut pada
Command Prompt DOS :
DEBUG [nama file com]
3. Trace program tersebut dan amati hasilnya serta perubahan pada register dan flagnya.
Simpan hasil screenshot-nya sebagai dokumentasi Anda masing – masing.

G. ROR dan ROL


1. Tuliskan program assembly berikut menggunakan TASM , lalu lingking menjadi COM :
.Model Small
.Code
ORG 100h

Proses :
MOV AX, 36h
MOV CL, 3
ROR AX, CL

MOV AX, 36h


MOV CL, 3
ROL AX, CL

INT 20h
End Proses

2. Debug hasil lingking menggunakan DEBUG dengan mengetikkan perintah berikut pada
Command Prompt DOS :
DEBUG [nama file com]

6
3. Trace program tersebut dan amati hasilnya serta perubahan pada register dan flagnya.
Simpan hasil screenshot-nya sebagai dokumentasi Anda masing – masing.

TUGAS
1. Apakah gunanya pointer pada pemrograman bahasa mesin?
2. Mengapa DB dapat diakses sebagai program bukan sebagai data? Pada kondisi apa hal ini
dapat terjadi?

Anda mungkin juga menyukai