Anda di halaman 1dari 10

LAPORAN PRAKTIKUM

MIKROPROSESOR
“MENMONIC, ADD, ADC, DAN MOV PADA BAHASA
PEMROGRAMAN ASSEMBLY”

NAMA PRAKTIKAN :

Febrianti Mahdar (191331043)


TANGGAL PERCOBAAN:
17 Maret 2021
TANGGAL PENGUMPULAN:
24 Maret 2021
NAMA INSTRUKTUR

Ferry Satria, BSEE., M. T.

Rahmawati Hasanah, S.ST., M.Sc.

JURUSAN TEKNIK ELEKTRO PROGRAM STUDI


D3 – TEKNIK TELEKOMUNIKASI
2B
POLITEKNIK NEGERI BANDUNG
2021
MENMONIC, ADD, ADC, DAN MOV PADA BAHASA PEMROGRAMAN
ASSEMBLY

I. Tujuan Praktikum

Setelah menyelesaikan percobaan ini mahasiswa diharapkan mampu


1. Memahami penggunaan aplikasi EMU8086
2. Memahami fungsi – fungsi dari segment
3. Membuat program yang menjumlahkan data hexadesimal

II. Landasan Teori


Mikroprosesor merupakan otak atau pengolah utama dalam sebuah sistem
komputer. Mikroprosesor yang biasa disebut juga sebagai CPU (Central Processing
Unit), menjadi pusat dari proses perhitungan dan pengolahan data yang dapat
melaksanakan operasi-operasi aritmatika, operasi logika, dan operasi kendali secara
elektronis (digital). Semakin tinggi kecepatan prosesor maka semakin cepat hasil
komputasi diperoleh. CPU terbuat dari sebuah lempengan yang disebut sebagai “Chip”
atau dari Integrated Circuit (IC)”. Bentuk dari IC ini yaitu kecil, terbuat dari lempengan
silicon dan bisa terdiri dari 10 juta transistor. Chip mikroprosesor difabrikasi dengan
teknologi LSI (Large Scale Integration) maupun VLSI (Very Large Scale Integration).
Biasanya mikroprosesor dikemas dengan plastik atau keramik. Kemasannya
dilengkapi dengan pin-pin yang merupakan terminal masukan dan keluaran dari chip.
Mikroprosesor mengontrol memori dan Input/Output (I/O) melalui koneksi yang
disebut bus. Bus memilih perangkat I/O atau memori, mengirimkan data antara
perangkat I/O atau memori tersebut dan mikroprosesor, dan mengontrol sistem I/O dan
memori. Memori dan I/O dikontrol melalui instruksi yang tersimpan di memori dan
dieksekusi oleh mikroprosesor. Mikroprosesor melakukan tiga tugas utama dari sistem
komputer, yaitu:

1. Mengirimkan data antara mikroprosesor itu sendiri dan dengan sistem I/O atau
memori.

2. Melakukan operasi aritmatika dan logika sederhana.


3. Melakukan aliran program melalui pengambilan keputusan

Register Segment

Register Segment merupakan register tambahan dengan panjang 16 bit atau


terbatas sampai 64K byte, yang berfungsi men-generate alamat memori ketika
MIKROPROSESOR & INTERFACE 14 dikombinasikan dengan register lain.
Register segment berfungsi untuk menyimpan alamat segment, yang terdiri dari CS (
Code Segment ), DS ( Data Segment ), SS ( Stack Segment ), dan ES ( Extra Segment
).

Register CS ( Code Segment ), bagian memori 64K-byte yang digunakan untuk


menyimpan alamat segment dari kode program atau instruksi. Register ini sering
berubah oleh suatu instruksi jump, panggilan, atau return.

Register DS ( Data Segment ), bagian memori 64K-byte yang berisi data yang
menjadi referensi untuk hampir semua instruksi dan sebagian besar mode addressing.
Register DS ini digunakan untuk menyimpan alamat segment dari letak data. Data
hampir selalu bergerak masuk atau keluar dari memori melalui segment data.

Register SS ( Stack Segment ), bagian memori 65K-byte yang digunakan untuk


menyimpan alamat segment memori yang dipergunakan menjadi Stack (tumpukan).
Address Stack yang efektif ialah suatu kombinasi isi dari : Stack Pointer (SP) + SS x
10H. Misal SS berisi 1000H dan SP berisi 0000H. Maka addres stack ditempatkan di
0000+10000 = 10000H. Dapat juga ditulis 10000:0000 ; address segment dari 1000H
dan addres offset dari 0000H.

Register ES ( Extra Segment ), atau segmen tambahan, merupakan register khusus


digunakan untuk instruksi string dan meyimpan alamat segment tambahan, misalnya
alamat display, alamat sistem operasi, dan lain-lain.

Directtives Assembler

Sebuah directive adalah command yang disisipkan pada kode sumber (source
code). Directives dapat menentukan: Variabel, Macro, Prosedur, Segmen Memori.
Directives bersifat tidak sensitif. Tulisan “.data”, “.DATA”, dan “.Data” dianggap
sama. Beberapa penjelasan lainnya: .MODEL SMALL : memilih ukuran model
memori. Pilihan model memori lainnya; Tiny (kombinasi kode dan data kurang dari
64K), Small (Kode ≤ 64K dan data ≤ 64K), Medium (Kode ≤ 64K dan berapapun
ukuran multiple kode segmen), Compact (Data ≤ 64K dan berapapun ukuran multiple
data segmen), Large (Kode > 64K dan Data > 64K multiple kode dan data segmen),
dan Huge. .STACK ; ukuran dari stack segment .DATA ; memulai data segment.
.CODE ; memulai kode segment

III. Alat dan Komponen yang Digunakan

1. Software Emu8086

IV. Langkah Percobaan

1. Siapkan Software Emu8086


2. Membuat program sesuai dengan yang diinstruksikan
3. Menjalankan Program
4. Catat hasil program
5. Buat analisa dari masing – masing hasil program
6. Buat kesimpulan
V. Data Hasil Percobaan
1. Buat program untuk menjumlahkan 6 data heksadesimal berikut: FFH,7AH,
8BH,66H,DDH,9CH. Simpan hasil penjumlahan pada register: CX

2. Buat program untuk menjumlahkan 10 data Heksadesimal berikut:


FFH,7AH,8BH,66H,DDH,9CH,7FH,77H,5CH, dan EEH. Simpan hasil
pemjumlahan pada register: CX
3. Buat program untuk menjumlahkan 6 data Heksadesimal berikut:
FFFFH,DD7AH,448BH,AA66H,88DDH,9CFFH. Simpan Hasil penjumlahan pada
register: BL:CX

4. Buat program untuk menjumlahkan 6 data heksadesimal


berikut:FFFFFFH,7AAAF45H,8B6543H,FFFF66H,DDE4C9H,9CDDEEH.
Simpan hasil penjumlahan pada register: CX:DX
5. Buat program untuk menjumlahkan 20 data heksadesimal berikut:
FFH,7AH,8BH,66H,DDH,9CH,88H,54H,B7H,99H,7EH,9DH,5EH,2BH,66H,4FH
,C5H,7AH,AAH,9CH. Simpan penjumlahan pada register:CX
VI. Analisis Data
Pada praktikum kali ini mahasiswa melakukan percobaan dengan membuat program
pada software EMU8086. Dilakukan 5 kali percobaan yang masing masing dari
percobaannya adalah menjumlahkan data hexadesimal.

Dapat diketahui bahwa sebelum menjalankan program maka harus disusun


perintahnya terlebih dahulu. Dalam membuat program, hal pertama yang harus
dilakukan adalah memberikan judul program menggunakan syntac “TITLE” yang
merupakan tempat memberikan judul pada program yang akan ditulis, judul perlu
disesuaikan dengan permasalahan yang ingin dipecahkan dalam program yang nanti
ditulis. Selanjutnya menggunakan syntac “.MODEL” yang merupupakan syntac untuk
memesan jenis program yang akan ditulis. Di emu8086 terdapat beberapa model yang
bisa dipilih tergantung besar atau kecilnya suatu program. Kalau programnya relartif
kecil maka “.MODEL SMALL”. Selanjutnya menggunakan syntac “.STACK 100H”
yang digunakan untuk Untuk memesan lokasi untuk stack di dalam RAM, jadi RAMnya
diambil hanya sebesar 100H. H adalah Heksadesimal. Stack tempat mengamankan
register. Lalu ada “.DATA” yang digunakan untuk memesan data pada RAM area. Agar
program dapat berjalan maka diperlukan “MAIN PROC” yang berfungsi untuk memulai
procedure atau fungsi MAIN pada program.

Berdasarkan program yang dilakukan berdasarkan perintah nomor 1 yakni “Buat


program untuk menjumlahkan 6 data heksadesimal berikut: FFH,7AH,
8BH,66H,DDH,9CH. Simpan hasil penjumlahan pada register: CX”, dapat diketahui
bahwa program terdiri dari 6 data dan masing masing terdiri dari 2 digit data sehingga
dapat digunakan Variabel DB dikarenakan data berjumlah 8 bit. Pada program terdapat
syntac ‘MOV’ yang berfungsi untuk memindahkan register asal ke register tujuan.
Adapula perintah ‘ADD’ yang berfungsi untuk menambahkan dua nilai register yang
akan disimpan pada operand1. Perintah ‘ADC’ berfungsi untuk meletakan nilai carry
dari hasil penjumlahan sebelumnya yang telah dilakukan oleh perintah ‘ADD’. [SI]
merupakan data pertama [Si+1] merupakan data kedua sampai dengan [SI+5] yakni
merupakan data ke 6.
Pada nomor 2 terdapat perintah “Buat program untuk menjumlahkan 10 data
Heksadesimal berikut: FFH,7AH,8BH,66H,DDH,9CH,7FH,77H,5CH, dan EEH.
Simpan hasil pnejmlahan pada register: CX’. Perinsip pengerjaan programnya sama
dengan nomor 1, sama sama tiap datanya berjumlah 8 bit sehingga mengginakan ‘AV
DB’ bedanya adalah jumlah datanya yakni berjumlah 10 sehingga nanti data terakhirnya
adalah ‘[SI+9].
Pada nomor 3 terdapat perintah “Buat program untuk menjumlahkan 6 data
Heksadesimal berikut: FFFFH,DD7AH,448BH,AA66H,88DDH,9CFFH. Simpan Hasil
penjumlahan pada register: BL:CX”. Data yang harus dijumlahkan adalah masing
masing sebanyak 16 bit sehingga diperlukan syntac “BIL DW’. Karena tiap datanya
memiliki 16 bit maka setiap data menempati 2 posisi indeks, sehingga data pertama
adalah [SI] data kedua adalah [SI+2], data ketiga adalah [SI+4] hingga data ke 6 yakni
[SI+10].
Pada nomor 4 terdapat perintah “Buat program untuk menjumlahkan 6 data
heksadesimal
berikut:FFFFFFH,7AAAF45H,8B6543H,FFFF66H,DDE4C9H,9CDDEEH. Simpan
hasil penjumlahan pada register: CX:DX”. Data yang harus dijumlahkan masing masing
melebihi 16 bit sehingga digunakan syntac ‘VAR DD’. Hampir sama dengan nomor 3,
bedanya adalah untuk tiap syntac ‘ADC’ data yang dipindahkan adalah data dari
[SI+…]. Data yang dijumlahkan memiliki 6 digit sehingga dipecah menjadi 3 digit lalu
stiap data menempati 3 posisi indeks.
Pada nomor 5 terdapat perintah “Buat program untuk menjumlahkan 20 data
heksadesimal berikut:
FFH,7AH,8BH,66H,DDH,9CH,88H,54H,B7H,99H,7EH,9DH,5EH,2BH,66H,4FH,C5
H,7AH,AAH,9CH. Simpan penjumlahan pada register:CX” penjumlahan pada nomor 5
sama dengan nomor 1 dan dua bedanya adalah jumlah dari data yang akan dijumlahkan
yakni berjumlah 20 data.
Pada akhir program terdapat program interupt:
MOV AH, 4CH
INT 21H
(Interupt 21H fungsi 4C) berfungsi untuk menyetop, apabila prosesor menerima
perintah tersebut maka akan stop dan kendali diberikan kepada DOS)
VI. Kesimpulan
Dari percobaan yang telah dilakukan dapat disimpulkan bahwa untuk menjalankan
program pada software EMU8086 harus disusun terlebih dahulu template ataupun syntac
program. Masing masing syntac ini memiliki fungsi khusus yang nantinya dalam
penggunaannya akan disesuaikan dari keinginan pengguna, seperti contohnya “TITLE”
maupun penggunaan “DB” ataupun “DW”.

VII. Daftar Pustaka

UNY, H. F. (2017, November 21). HME FT UNY. From SItem Minimal Mikro
prosesor: http://hmeft.student.uny.ac.id/2017/11/21/sistem-minimal-mikroprosesor/

Anda mungkin juga menyukai