Minggu, 25 Maret 2012

Modul Assembly


MODUL 1

SISTEM BILANGAN
I. 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

REGISTER
I. 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