MODUL 1
SISTEM BILANGANI. TUJUAN PERCOBAAN
Tujuan dari percobaan ini antara lain sebagai berikut:
• Mahasiswa mengetahui sistem bilangan dalam bahasa asembly
• Melakukan konversi dan operasi aritmatika pada sistem bilangan
II. ALAT DAN BAHAN
• PC
• Kertas Cakar
• Alat Tulis
III. DASAR TEORI
Ada beberapa macam sistem bilangan yang diketahui, yaitu bilangan desimal (0,1,2,3,4,5,6,7.8.9), bilangan hexadecimal (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F), bilangan oktal (0,1,2,3,4,5,6,7) dan bilangan binary (0,1). Masing-masing sistem bilangan memiliki bentuk dan karateristik yang spesifik, demikian pula operasi aritmatika yang berlaku terhadapnya.
IV. RANGKAIAN EKSPERIMEN
Konversi dari Sistem Bilangan Desimal
A. Konversi Ke Sistem Bilangan Binari
Metode I :
Dengan membagi dengan 2 dan sisa pembagian merupakan digit binari dari bilangan binari hasil konversi
Contoh :
23 : 2 = 11 sisa 1
11 : 2 = 5 sisa 1
5 : 2 = 2 sisa 0
2 : 2 = 1 sisa 0
Metode II :
Menjumlahkan bilangan-bilangan pangkat dua yang jumlahnya sama dengan bilangan desimal yang akan dikonversikan.
Contoh :
Bilangan desimal 45 dikonversi ke bilangan binar
20 = 1 1
22 = 4 100
23 = 8 1000
25 = 32 10000
----+ ------------+
45 101101
B. Konversi ke sistem bilangan desimal
Dari bilangan binari dapat dikonversikan ke bilangan desimal dengan cara mengalikan masing-masing bit dalam bilangan dengan position value-nya.
Contoh :
1011012 = 1 x 25 + 0 x 24 + 1 x 20 + 1 x 22 + 0 x 21 + 1 x 20
= 32 + 0 + 8 + 4 + 0 + 1
= 4510
C. Konversi ke sistem bilangan oktal
Konversi dari bilangan binary ke oktal dapat dilakukan dengan mengkonversi tiap tiga buat digit binari
Contoh : 1101101 dapat dikonversi ke oktal dengan cara :
1 101 101
1 5 5
D. Konversi ke sistem bilangan hexadesimal
Konversi dari bilangan binary ke hexadesimal dapat dilakukan dengan mengkonversi tiap empat buat digit binari
Contoh : 1101101 dapat dikonversi ke hexadecimal dengan
110 1101
6 D
E. HexadesimalKonversi ke sistem bilangan desimal
Dari bilangan binari dapat dikonversikan ke bilangan desimal dengan cara mengalikan masing-masing bit dalam bilangan dengan position value-nya.
Contoh :
B6A16 = 11 x 162 + 6 x 161 + 10 x 160
= 11 x 256 + 6 x 16 + 10 x 1
= 2816 + 96 + 10
= 292210
V. PELAKSANAAN EKSPERIMEN
Langkah 1. uraikan secara lengkap sistem bilangan di bawah ini :
Bilangan Binary :
0 1 2 3 4 5 6 7 8 9
Bilangan Desimal :
Bil. Hexadesimal :
Bilangan Oktal :
Langkah 2. Konversi Bilangan
1. Konversi Bilangan ke Bilangan Binary :
Lakukan konversi bilangan berikut :
(192)10 = (11000000 )2
(240)10 =(11110000 )2
(255)10 =(11111111 )2
2. Konversi bilangan Binary ke Bilangan desimal
Lakukan konversi bilangan berikut :
(110110)2 =( 54 )16
(100010)2 =( 34 )16
(101000)2 =( 40 )16
3. Konversi Bilangan Desimal ke Hexadecimal :
Lakukan Konversi berikut :
(192)10 = ( C0 )16
(240)10 =( F0 )16
(255)10 =( FF )16
4. Konversi Bilangan Hexadesimal ke Bilangan Desimal :
Lakukan konversi bilangan berikut :
(9A)16 = ( 154 )10
(B6)16 =( 182 )10
(FF)16 =( 255 )10
5. Konversi Bilangan Hexadesimal ke Bilangan Binary :
Lakukan konversi bilangan berikut :
(9A)16 = (10011010 )2
(B6)16 =(101100110 )2
(FF)16 =(11111111 )2
6. Konversi bilangan Binary ke Bilangan Hexadesimal
Lakukan konversi bilangan berikut :
(110110)2 =( 36 )16
(100010)2 =( 22 )16
(101000)2 =( 28 )16
Langkah 3. Operasi Aritmatika Pada sistem Bilangan
1. Operasi Penjumlahan pada Bilangan Desimal
Lakukan operasi bilangan berikut :
192+110 = 302
240+192 =342
2. Operasi Penjumlahan pada Bilangan Binary
Lakukan operasi bilangan berikut :
11011 + 10001 = 101100
101001 +100011 = 1001100
3. Operasi Pengurangan pada Bilangan Binary
Lakukan operasi bilangan berikut :
1110001 – 1001100 = 00100101
11001 – 10011 = 00110
4. Operasi Penjumlahan pada Bilangan Hexadesimal
Lakukan operasi bilangan berikut :
AB + 12 = BD
78 + 22 = 9A
VI. KESELAMATAN KERJA
Keselamatan kerja di Laboratorium
1. Jalan haluan tidak boleh terhalang baik dari bahan-bahan praktek maupun peralatan lain.
2. Dilarang duduk dan berdiri pada tempat yang berbahaya misalnya : di atas meja komputer.
3. Letakan peralatan tulis atau tas pada tempatnya dan mudah dijangkau.
4. Jagalah kebersihan ruangan.
5. Berikan tanda peringatan pada tempat–tempat yang berbahaya.
6. Jangan berlari–lari atau bermain-main di dalam Laboratorium.
7. Jangan membuang barang-barangapa saja dalam Laboratorium.
8. Memakai pakaian kerja yang rapi dan terkancing (jas lab).
9. Rambut rapi dan bagi wanita memakai pengikat atau topi.
10. Jangan menyimpan alat-alat bantu dalam saku terutama yang tajam.
11. Jangan memakai perhiasan.
12. Gunakan sepatu yang kuat.
13. Gunakan masker bila perlu.
VII. KESIMPULAN
Setelah mengikuti semua praktikum dan percobaan-percobaan maka saya dapat mengerti tentang sistem bilangan. Hal-hal yang perlu diperhatikan dalam melakukan operasi aritmatika adalah kita harus memperhatikan peraturan-peraturan aritmatika agar hasil yang di peoleh tepat.
MODUL 2
REGISTERI. TUJUAN PERCOBAAN
Tujuan dari percobaan ini antara lain sebagai berikut:
• Mengenal dan mengetahui Register 8 bit, 16bit dan 32 bit
• Mengetahui fungsi dan isi dari Register.
II. ALAT DAN BAHAN
• PC
• Alat Tulis
III. DASAR TEORI
Register merupakan sebagian kecil memori komputer yang digunakan sebagai tempat penampung data dengan ketentuan bahwa yang terdapat dalam register biasa diproses dalam berbagai operasi dengan melihat berapa besar kemampuan menampung register tersebut.
Mengidenfikasi register :
Register 8 bit : ah, al,bh, bl, ch, cl, dh, dl
Register 16 bit : ax, bx, cx, dx
Register 32 bit : eax, ebx, ecx, edx
General purpose register : ax, bx, cx,dx
Pointer register : ip, sp, bp
Flag register : cf, pf, af, zf, sf, tf,if, df,of, nt, iopl
IV. RANGKAIAN EKSPERIMEN
Langkah 1 : mengidentifikasi Register
Langkah 2 : menguraikan fungsi General purpose Register
Langkah 3 : menguraikan fungsi Pointer Register
Langkah 4 : menguraikan fungsi Flag Register
V. PELAKSANAAN EKSPERIMEN
• Identifikasi register
8 bit : AH, AL, BH, BL, CH, CL, DH, DL
16 bit : AX, BX, CX, DX
32 bit : EAX, EBX, ECX, EDX
• General purpose register
AX, BX, CX, DX
AX : sebagai masukan atau penampung hasil proses atau perhitungan atau sering untuk menyimpan data sementara.
• Pointer register
IP, SP, BP
SP :berpasangan dengan register SS (SS : SP) digunakan untuk menunjukan alamat dari stack.
• Flag register
CF, PF, ZF, SF, TF,IF, DF, OF, NT, IOPL
PF : digunkan untuk menunjukan paritas bilangan. Bit ini akan bernilai 1 bila bilangan yang dihasilkan bernilai genap.
VI. KESELAMATAN KERJA
Keselamatan kerja di Laboratorium
1. Jalan haluan tidak boleh terhalang baik dari bahan-bahan praktek maupun peralatan lain.
2. Dilarang duduk dan berdiri pada tempat yang berbahaya misalnya : di atas meja komputer.
3. Letakan peralatan tulis atau tas pada tempatnya dan mudah dijangkau.
4. Jagalah kebersihan ruangan.
5. Berikan tanda peringatan pada tempat–tempat yang berbahaya.
6. Jangan berlari–lari atau bermain-main di dalam Laboratorium.
7. Jangan membuang barang-barangapa saja dalam Laboratorium.
8. Memakai pakaian kerja yang rapi dan terkancing (jas lab).
9. Rambut rapi dan bagi wanita memakai pengikat atau topi.
10. Jangan menyimpan alat-alat bantu dalam saku terutama yang tajam.
11. Jangan memakai perhiasan.
12. Gunakan sepatu yang kuat.
13. Gunakan masker bila perlu.
VII. KESIMPULAN
Dengan mengerjakan modul 2 ini kita dapat mengenal jenis-jenis register dan fungsi-fungsi dari masing-masing register. Secara umum fungsi register adalah sebagai tempat penampungan data proses sementara.
VIII. TUGAS
Uraiakan fungsi dari general purpose register
Isi Fungsi
AX Secara khusus digunakan pada operasi aritmetika terutama dalam operasi penambahan dan pengurangan
BX Biasa digunakan untuk menunjukan alamat offset dari suatu segment
CX digunakan secara khusus pada operfasi looping dimana register ini menunjukan berapa banyaknya looping yang akan terjadi
DX digunakan untuk menampung sisa hasil 16bit pada proses 80386 terdapat tambahan register 32bit yaitu EAX, EBX, ECX, dan EDX.
Fungsi Pointer Register
Isi Fungsi
IP Instrument pointer merupakan pasangan CS yang merupakan register terpenting untuk menunjukan baris perintah Program
SP Stack pointer, yang berpasangan dengan register SS segment yang digunakan untuk menunjukan alamat dari Stack
BP Base Pointer yang digunakan untuk mencatat alamat di memori tempat data didimpan dan berpasangan dengan SS (SS:BP)
MODUL 3
MEMBUAT PROGRAM DENGAN EMULATOR 8086
I. TUJUAN PERCOBAAN
Tujuan dari percobaan ini antara lain sebagai berikut:
• Mengenal skema program assembly pada Emu 8086
• Mengenal komponen-komponen apa saja yang ada di assembly
• Membuat program sederhana
II. ALAT DAN BAHAN
• PC
• EMULATOR 8086
• ALAT TULIS
III. DASAR TEORI
Komponen dalam assembly : program. com, program. exe, angka biner, desimal, heksa desimal, karakter;
Membuat program; program mencetak karakter beserta atribut; pengulangan dengan loop, loop tujuan: tujuan dapat berupa suatu label yang telah didefinisikan. Pada proses pengulangan dengan perintahloop, register cx memegang peranan khusus di mana register inidijadikan sebagai counter/penghitug terhadap banyaknya looping yang telah terjadi.
IV. RANGKAIAN EKSPERIMEN
• Layout emu8086
• Komponen dalam assembly
• Membuat program
V. PELAKSANAAN EKSPERIMEN
Mencetak karakter A dengan INT 21
.MODEL SMALL
.CODE
ORG 100h
Proses :
Mov AH, 02h
Mov DL, ‘A’
INT 21h
INT 20h
End
VI. KESELAMATAN KERJA
Keselamatan kerja di Laboratorium
1. Jalan haluan tidak boleh terhalang baik dari bahan-bahan praktek maupun peralatan lain.
2. Dilarang duduk dan berdiri pada tempat yang berbahaya misalnya : di atas meja komputer.
3. Letakan peralatan tulis atau tas pada tempatnya dan mudah dijangkau.
4. Jagalah kebersihan ruangan.
5. Berikan tanda peringatan pada tempat–tempat yang berbahaya.
6. Jangan berlari–lari atau bermain-main di dalam Laboratorium.
7. Jangan membuang barang-barangapa saja dalam Laboratorium.
8. Memakai pakaian kerja yang rapi dan terkancing (jas lab).
9. Rambut rapi dan bagi wanita memakai pengikat atau topi.
10. Jangan menyimpan alat-alat bantu dalam saku terutama yang tajam.
11. Jangan memakai perhiasan.
12. Gunakan sepatu yang kuat.
13. Gunakan masker bila perlu.
VII. KESIMPULAN
Program dibuat atau dikerjakan berdasarkan baris perintah. Perintah INT 21h untuk mencetak, INT 20h untuk mengakhiri. Terdapat tujuh (7) komponen dalam assembly;program com, exe, angkabiner, decimal, hexsadecimal, karakter, label, komentar, perintah mov, int
MODUL 4
ARITMETIKA
I. TUJUAN PERCOBAAN
Tujuan dari percobaan ini antara lain sebagai berikut:
• Mahasiswa memahami tentang fungsi-fungsi aritmatika
• Mahasiswa dapat membuat program assembly untuk menyelesaikan persoalan aritmatika (penjumlahan, perkalian, pembagian, rotasi dan geser)
II. ALAT DAN BAHAN
• Pensil
• Kertas cakar
• Komputer dengan Emulator 8086
III. DASAR TEORI
a. Instruksi Geser dan Rotasi
Instruksi geser dan rotasi berfungsi untuk mengubah posisi bit operand. Beberapa instruksi geser dan rotasi :
SHL shift left = geser kiri
SHR shift right = geser kanan
SAL shift aritcmetic left = geser kiri aritmetik
SAR shift aritmetic right = geser kanan aritmetik
ROL rotate left = rotasi kiri
ROR rotate right = rotate kanan
RCL rotate carry left = rotasi kiri dengan kiri
RCR rotate carry right = rotasi kanan dengan carry
b. Aplikasi Geser dan Rotasi
Byte 1 Byte 2 Byte 3
Sebelum 00111011 01000110 11111111
Sesudah 00011101 10100011 01111111
Maka programnya :
mov cx, 4
L1: shr byte1, 1
rcs byte2, 1
rcr byte3, 1
byte1db 3bh
byte2db 46h
byte3db 0ffh
c. Penjumlahan dan Pengurangan Bilangan Kompleks
Intruksi ADC (add with carry) : menjumlahkan dan mengurangkan dengan operand sebanyak byte dan word.
d. Instruksi SBB (subtract with barrow) : mengurangi multimedia atau multiword
e. Perkalian dan Pembagian : instruksi MUL dan IMUL; DIV dan IDIV
IV. RANGKAIAN EKSPERIMEN
-
V. PELAKSANAAN EKSPERIMEN SEKALIGUS JAWABAN PERCOBAAN
Membuat program penjumlahan 2 buah bilangan 1234h dengan F221h.
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
; PROGRAM : COBA_TAMBAH. ASM ;
;FUNGSI : MELIHAT PENAMBAHAN ;
;`````````````````````````````````````````````````````````````````````````````````;
.MODEL SMALL
.CODE
ORG 100H
PROSES :
MOV AL, 15H ; AH := 15H
MOV AX, 4 ; AL:=4
ADD AH, AL ; AH:= AH+AL, JADI AH=19H
MOV AX, 1234H ;
MOV BX, 0F221H ;
ADD AX, BX ; AX:= AX+BX ;
MOV BX, 9ABCH ; BX := 9ABCH CF = 0
MOV CX, 5678H ; BX := 5678H CF=0
MOV DX, ODEFH ;DX := DEF0H CF =0
ADD CX, DX ; CX := 3568H CF =1
ADD AX, BX ; AX := AX+BX+CF = ACF1
INC AL; AL:= ALH
INT 21H ;
INT 20H ;
END PROSES
HASIL :
Ketika dicompile, file tidak dapat disimpan karena adanya kesalahan penulisan syntax pada mov al,1234h ; ax=1234h cf=0 yang benar adalah
mov ax,1234h ; ax =1234h cf=0
VI. KESELAMATAN KERJA
Keselamatan kerja di Laboratorium
1. Jalan haluan tidak boleh terhalang baik dari bahan-bahan praktek maupun peralatan lain.
2. Dilarang duduk dan berdiri pada tempat yang berbahaya misalnya : di atas meja komputer.
3. Letakan peralatan tulis atau tas pada tempatnya dan mudah dijangkau.
4. Jagalah kebersihan ruangan.
5. Berikan tanda peringatan pada tempat–tempat yang berbahaya.
6. Jangan berlari–lari atau bermain-main di dalam Laboratorium.
7. Jangan membuang barang-barangapa saja dalam Laboratorium.
8. Memakai pakaian kerja yang rapi dan terkancing (jas lab).
9. Rambut rapi dan bagi wanita memakai pengikat atau topi.
10. Jangan menyimpan alat-alat bantu dalam saku terutama yang tajam.
11. Jangan memakai perhiasan.
12. Gunakan sepatu yang kuat.
13. Gunakan masker bila perlu.
VII. KESIMPULAN
mengerjakan program Assembly dengan menggunakan emu8086 maka akan lebih mudah untuk menyelesaikan persoalan aritmatika, dengan memahami teori dan intuksi program terlebih dahulu.
VIII. Tugas dan Pertanyaan Sekaligus Jawaban (kalau ditanyakan)
Buatlah program dengan bahasa assembly untuk menghitung beberapa persamaan berikut :
1. 1101+1100
2. 11000011+10001000
3. 29d-16d
Jawaban :
1) 1101+1100
.MODEL SMALL
.CODE
ORG 100H
PROSES :
MOV CX, 1101b
MOV DX, 1100b
ADD CX, DX
END PROSES
2) 11000011+10001000
.MODEL SMALL
.CODE
ORG 100H
PROSES :
MOV CX, 11000011b
MOV DX, 10001000b
ADD CX, DX
END PROSES
3) 29d-16d
.MODEL SMALL
.CODE
ORG 100H
PROSES :
MOV CX, 29d
MOV DX, 16d
SBB CX, DX
END PROSES
Tidak ada komentar:
Posting Komentar
masukkan komentar anda disini