Anda di halaman 1dari 22

LAPORAN PRAKTIKUM 4

“ARITMATIKA”

DISUSUN
OLEH

NAMA : Teuku Firmansyah


KELAS : TI - 1B
NIM : 2021573010073
JURUSAN : Teknologi Informasi dan Komputer
PRODI : Teknik Informatika
DOSEN PEMBIMBING : Azhar, S. T., M.T

KEMENTRIAN RISET,TEKNOLOGI DAN PENDIDIKAN TINGGI


POLITEKNIK NEGERI LHOKSEUMAWE TAHUN
AJARAN 2022-2023
LEMBARAN PENGESAHAN

No. Praktikum : 04/PBA/TI 1B/2021

Nama Praktikum : PRAKTIKUM BAHASA ASSEMBLY

Judul Pratikum : ARITMATIKA

Tanggal Pratikum : 25 MARET 2022

Tanggal Penyerahan Laporan : 30 JUNI 2022

Nama Praktika : Teuku Firmansyah

NIM/Kelas : 2021573010073 / TI 1.B


Nilai :
Keterangan :

MENGETAHUI,
DOSEN PMBIMBING MAHASISWA

Azhar, S. T., M.T TEUKU FIRMANSYAH


NIP .196408301990031005 NIM. 2021573010073

i
DAFTAR ISI

LEMBARAN PENGESAHAN...................................................................................................................i
DAFTAR ISI...............................................................................................................................................ii
BAB 1 PENDAHULUAN...........................................................................................................................1
DASAR TEORI................................................................................................................................................1
PROSEDUR PERCOBAAN...............................................................................................................................2
A. Operasi Penambahan...........................................................................................................................2
B. Operasi Pengurangan...........................................................................................................................4
C. Decremen.............................................................................................................................................5
D. Perkalian...............................................................................................................................................6
E. Pembagian............................................................................................................................................8
BAB 2 PERCOBAAN..............................................................................................................................10
1. Operasi penambahan.....................................................................................................................10
2. Operasi pengurangan.....................................................................................................................13
3. Decremen.......................................................................................................................................15
4. Perkalian.........................................................................................................................................16
5. Pembagian......................................................................................................................................17
BAB 3 PEMBAHASAN...........................................................................................................................19
A. Kesimpulan :...................................................................................................................................19

ii
BAB 1
PENDAHULUAN

DASAR TEORI
Operasi artimatika merupakan operasi dasar dalam mikroprosesor. Operasi
aritmatika dipergunakan untuk melakukan kalkulasi berbagai proses yang nantinya akan
dilakukan oleh mikroprosesor, baik berhubungan dengan perhitungan alamat, data, maupun
keperluan lainnya. Operasi aritmatika meliputi :

1. Operasi penjumlahan
2. Operasi pengurangan
3. Operasi perkalian
4. Operasi pembagian
Operasi penjumlahan merupakan operasi untuk menambahkan 2 atau lebih operan.
Operasi ini ada berbagai macam , antara lain : ADD, ADC, INC. Operasi pengurangan
merupakan operasi untuk mengurangkan 2 atau lebih operan. Sama seperti operasi
penjumlahan, maka operasi pengurangan juga ada operasi pengurangan general (SUB),
pengurangan dengan carry (SBB), dan pengurangan dengan 1 (DEC). Operasi perkalian
mengalikan 2 buah operan atau lebih dengan menggunakan instruksi MUL. Untuk perkalian
yang melibatkan floating point number, maka biasanya menggunakan co-processor hardware
yang mendukung fungsi – fungsi floating point seperti FMUL. Sedangkan operasi pembagian
melakukan pembagian antara 2 buah atau lebih operan menggunakan instruksi DIV.

Untuk melihat perubahan pada flag – flag registernya jika terjadi operasi aritmatika,
maka dipergunakan bantuan program DEBUG seperti pada praktikum sebelumnya. Untuk
men- debug sebuah program COM dengan nama cth.com menggunakan DEBUG, maka di
command prompt DOS diketikkan perintah :

DEBUG cth.com

1
Maka secara otomatis DEBUG akan mulai melakukan eksekusi program COM di register yang
bersangkutan. Menggunakan proses tracing maka dapat dilihat proses operasi aritmatika yang dijalankan
akan mengubah register apa saja di komputer.

PROSEDUR PERCOBAAN

A.Operasi Penambahan
1. Tuliskan program assembly berikut menggunakan TASM , lalu lingking menjadi COM :
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;

; PROGRAM : TAMBAH.ASM ;
; FUNGSI : MELIHAT PENAMBAHAN
; YANG DILAKUKAN
; OLEH BERBAGAI
; PERINTAH
;===============================;
.Model Small
.Code
ORG 100h

Proses :
MOV AH,20h
MOV AL,32
ADD AH,AL
MOV AX,5555h
MOV BX,0F123h
ADD AX,BX
MOV AX,2222h
MOV BX,8765h
MOV CX,AAAAh
MOV DX,0DDD0h
ADD CX,DX
ADC AX,BX
2
INC AL
INT 20h
End Proses

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

3. Trace tiap baris programnya dan amati perubahan pada register – registernya. Simpan hasil
screenshot tracing program sebagai dokumentasi Anda masing – masing.

3
B. Operasi Pengurangan
1. Tuliskan program assembly berikut menggunakan TASM , lalu lingking menjadi COM :

;================================;

; PROGRAM : KURANG.ASM ;
; FUNGSI : MENGURANGKAN ANGKA
;================================;
.Model Small
.Code
ORG 100h

TData :

JMP Proses ; Lompat ke Proses


ALo Equ 0EFFFh
AHi Equ 122h
BLo Equ 0FFFFh
Bhi Equ 0FEh
HslLo dw ?

HslHi dw ?

Proses :
MOV AX,ALo
SUB AX,Blo
MOV HslLO,AX
MOV AX,AHi
SBB AX,BHi
MOV HslHi,AX

INT 20h

End TData

2. Debug hasil lingking menggunakan DEBUG dengan mengetikkan perintah berikut pada

4
Command Prompt DOS :
DEBUG [nama file com]

3. Trace tiap baris programnya dan amati perubahan pada register – registernya. Simpan hasil
screenshot tracing program sebagai dokumentasi Anda masing – masing.

C.Decremen
1. Tuliskan program assembly berikut menggunakan TASM , lalu lingking menjadi COM dan
eksekusi programnya. Amati apa yang terjadi di layar.
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
; PROGRAM : DEC.ASM ;
; FUNGSI : MENCETAK KARAKTER ;
; "Z".."A" DENGAN ;
; INT 21h SERVIS 02 ;

5
;==========================;
.Model Small
.Code
ORG 100h

Proses :
MOV AH,02h
MOV DL,'Z'
MOV CX,26

Ulang:

INT 21h

DEC DL
LOOP Ulang
INT 20h

End Proses

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

3. Trace tiap baris programnya dan amati perubahan pada register – registernya. Simpan hasil
screenshot tracing program sebagai dokumentasi Anda masing – masing.

D.Perkalian
1. Tuliskan program assembly berikut menggunakan TASM , lalu lingking menjadi COM.
;================================;
; PROGRAM : KALI.ASM ;
; FUNGSI : MENGALIKAN BILANGAN;
; 16 BIT, HASIL ;
; PADA DX:AX ;
;================================;
6
.Model Small
.Code
ORG 100h

TData :
JMP Proses ; Lompat ke Proses
A dw 01ABh
B dw 02CDh
HslLo dw ?
HslHi dw ?

Proses:
MOV AX,A
MUL B
MOV HslLo,AX
MOV HslHi,DX
INT 20h
End TData

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

3. Trace tiap baris programnya dan amati perubahan pada register – registernya.
Simpan hasil
screenshot tracing program sebagai dokumentasi Anda masing – masing.

E. Pembagian
1. Tuliskan program assembly berikut menggunakan TASM , lalu lingking menjadi
COM.
;================================;

; PROGRAM : BAGI.ASM ;
; FUNGSI : MEMBAGI BILANGAN ;
; 16 BIT, HASIL ;
; PADA DX:AX ;
;================================;
.Model Small
.
C
o
d
e

O
R
G

1
0
0
h

TData :

JMP Proses ; Lompat ke Proses


A dw 01EFh
B dw 2
Hsl dw ?
Sisa dw ?

Proses:

1
SUB DX,DX
MOV AX,A
DIV B
MOV Hsl,AX
MOV Sisa,DX
INT 20h ; Kembali ke DOS
End Tdata

2. Debug hasil lingking menggunakan DEBUG dengan mengetikkan perintah berikut


pada Command Prompt DOS :
DEBUG [nama file com]

3. Trace tiap baris programnya dan amati perubahan pada register – registernya.
Simpan hasil
screenshot tracing program sebagai dokumentasi Anda masing – masing.

2
BAB 2
PERCOBAAN

1. Operasi penambahan

Setelah decompile terdapat sebuah error seperti pada gambar diatas. Bahwa errorterdapat
pada AAAAh karena untuk menuliskan bilangan hexa kedalam programyang awalannya
berbentuk abjad harus diberi angka 0. Kemudian edit kembali dancompile ulang sehingga tidak
terdapat lagi pesan error.

DEBUG tambah.asm

R adalah register dari program yang sudah di ketik

MOV AH,20 artinya Nilai 20 ditambahkan kedalam AX

3
MOV AL,20 artinya nilai 20 ditambahkan kedalam AX

ADD AH,AL adalah

Nilai tujuan + nilai awal = nilai tujuan

20 (di AH) + 20 (di AL) = 40 (di AH)

MOV AX,5555h artinya Memasukkan nilai 5555h pada AX

MOV BX,0F123h artinya Memasukkan nilai 0F123h pada BX

Penjumlahan nilai AX dan BX, nilai pada isi masing-masing register


tersebut akan diubah menjadi bilangan biner
AX = 0101 0101 0101 0101
BX = 1111 0001 0010 0011
-------------------------------------- +
AX = 1 0100 0110 0111 1000 (4678)

4
MOV AX,2222h memasukkan nilai 2222h ke dalam Register AX

MOV BX,8765h memasukkan nilai 8765h ke dalam register BX

MOV CX,AAAAh memasukkan nilai AAAAh ke dalam register CX

MOV DX,0DDD0h memasukkan nilai DDD0h ke dalam register DX

ADD CX,DX Penjumlahan nilai CX dan DX dalam bentuk biner


CX = 1010 1010 1010 1010
DX = 1101 1101 1101 0000
------------------------------------------------------------- +
CX = 1 1000 1000 0111 1010 (887A)

ADC AX,BX maka hasilnya AX=A988

INC AL nilai AL yaitu 88 di AX bertambah 1 menjadi 89.

5
2. Operasi pengurangan

Debug kurang.com

Nilai register

Memasukkan nilai awal ax=EFFFh

Kurangkan nilai EFFF menjadi FFFF, sehingga hasilnya menjadi AX,F000

6
Hasil disimpan ke dalam HslLo bernilai F000

Kemudian nilai disimpan ke dalam AX 122h

Kurangkan nilai 122 menjadi FE carry, hasil menjadi AX=0024

Jadi hasil akhir HslHi bernilai 0024

Kembali ke DOS

7
3. Decremen

Debug dec.com

Memasukkan karakter awal dari huruf Z sehingga menjadi DL=5Ah

Mencetak banyak nya pengulangan yang dilakukan pada huruf abjad 26

Cetak karakter

8
Karakter yang sudah di cetak Z di kurang dengan 1

Perulangan, lompat ulang seterusnya sampai 26 karakter A

4. Perkalian

Debug kali.com menampilkan nilai register

Nilai alamat awal AX=1EF

9
Pada data b kalikan 1FH * 2FE

Hasilnya ax bernilai C922 sehingga HslLo=C922

Hasil dari DX bernilai 0005 sehingga HslLi=0005

5. Pembagian

Debug bagi.com menampilkan nilai awal

Nilai jadikan DX=0

Deklarasi nilai AX=A menjadi AX=1EF

Lalu nilai nilai b dibagi 1EF:2

10
Hasilnya AX bernilai 00F7 sehingga Hsl =00F7

Hasil DX berisi 0001 sehingga sisa=0001

Kembali ke DOS

11
BAB 3
PEMBAHASAN

A. Kesimpulan :
1. Program operasi aritmatika ini berisi operasi-operasi logika yang sering
digunakan operasi aritmatika pada Assembler merupakan fungsi yang jelas
dariimplementasi operasi logik yang digunakan sehari-hari
2. Operasi penambahan yang diimplementasikan dengan ADD, ADC, INC, operasi
pengurangan yang diimplementasi melalui perintah SUB, SBB, DEC, operasi
perkalian yang diimpelentasikan denganperintah MUL, operasi pembagian yang
implementasinya adalah perintah DIV.
3. Operasi aritmatika ini adalah pengaplikasian dari kegiatan pengoperasian
logikdalam kegiatan sehari-hari, contohnya pengaplikasian dari carry flag yang
merupakan sisa dari pengurangan atau penambahan dan pengaplikasian
register DX sebagai hasil siswa lebih dari operasi pembagian atau perkalian.

12

Anda mungkin juga menyukai