Anda di halaman 1dari 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/357630646

Laporan Praktikum Mikroprosesor dan Mikrokontroller Modul 2 -Pengenalan


Mikroprosesor dengan EMU 8086

Experiment Findings · January 2022


DOI: 10.13140/RG.2.2.23575.70566

CITATIONS READS

0 217

1 author:

Eka Putra Prasetya


Universitas Islam Indonesia
132 PUBLICATIONS   0 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Tugas Besar Logika Pemograman Teknik Elektro UII 2018 View project

Laporan Praktikum Sistem Kelistrikan Perumahan dan Industri Teknik Elektro UII 2018 View project

All content following this page was uploaded by Eka Putra Prasetya on 06 January 2022.

The user has requested enhancement of the downloaded file.


Laporan Praktikum Mikroprosesor dan
Mikrokontroller
Modul 2 – Pengenalan Mikroprosesor dengan EMU 8086
Eka Putra Prasetya/18524057
Asisten: -
Tanggal praktikum: 13 Oktober 2020
18524057@students.uii.ac.id
Teknik Elektro – Fakultas Teknologi Industri
Universitas Islam Indonesia

Abstrak—Pada zaman modern saat ini, Perkembangan II. TINJAUAN PUSTAKA


teknologi sangat cepat berkembang terutama teknologi
smartphone. Sebuah smartphone dapat melakukan berbagai hal A. Mikroprosesor Intel 8086
dikarenakan ada mikroprosesor di dalamnya yang berfungsi Mikroprosesor atau CPU merupakan komponen yang
sebagai ―otak‖ dari smartphone tersebut. Praktikum ini bekerja layaknya “otak” pada manusia atau menjadi pengendali
bertujuan untuk memahami register dan operasinya pada utama semua aktivitas yang dieksekusi oleh komputer. Intel
mikroprosesor Intel 8086 menggunakan software emu8086. Hasil
8086 merupakan salah satu merek mikroprosesor 16 bit yang
praktikum menunjukkan bahwa emu8086 sudah
mengakomodasi bagian – bagian Intel 8086 dan kinerjanya
dapat beroperasi secara internal 16 bit dan mengirimkan data
seperti register, dan flag. Dapat ditarik kesimpulan dari 16 bit secara eksternal melalui bus.
percobaan yang dilakukan bahwa flag berfungsi untuk
memberikan status dari operasi yang sedang dilakukan dan
register digunakan sebagai tempat penyimpanan sementara.

Kata kumci— mikroprosesor, Intel 8086, register, flag.

I. PENDAHULUAN
Pada zaman modern saat ini, Perkembangan teknologi
sangat cepat berkembang. Jika kita mengambil sudut pandang
orang zaman dulu maka pasti orang zaman dulu akan terheran-
heran dengan banyaknya peralatan dengan teknologi yang
canggih saat ini. Orang zaman dahulu pasti akan terkejut
dengan smartphone yang mana sebuah benda tetapi bisa
digunakan untuk berbagai macam keperluan. Sebuah
smartphone dapat melakukan berbagai hal dikarenakan ada
mikroprosesor di dalamnya yang berfungsi sebagai “otak” dari Gambar 1 Arsitektur Intel 8086
smartphone tersebut. Mikroprosesor ini terbagi menjadi 2 unit, yaitu BIU (Bus
Interface Unit), dan EU (Execution Unit). Sesuai dengan
Awal mula mikroprosesor sendiri dimulai pada tahun 1971.
namanya BIU bertugas sebagai unit antarmuka bus. BIU
Pada waktu itu Intel yang masih berupa perusahaan kecil
tersusun dari beberapa komponen, yaitu register segmen,
mencoba untuk membuat sebuah CPU (Central Processing
Instruction Pointer (IP), dan Instruction Stream Byte Queue
Unit) dengan cara menggabungkan berbagai macam transistor.
(ISBQ). EU bertugas sebagai unit eksekutor. EU juga tersusun
Kerja keras Intel membuahkan hasil dengan terciptanya sebuah
dari beberapa komponen, yaitu dekoder instruksi, sistem
CPU-Intel 4004. Kemudian 7 tahun setelahnya tepatnya pada
kontrol, Arithmetic Logic Unit (ALU), register serbaguna, dan
tahun 1978-1981, Intel melanjutkan risetnya dan terciptalah
flag register [2].
prosesor generasi pertama yaitu Intel 8086 dan 8088. Sampai
sekarang, Intel 8086 menjadi prosesor yang sering dipakai B. Register serbaguna (General purpose register)
untuk pembelajaran di universitas untuk memberi pengenalan Register serbaguna atau General purpose register
akan kinerja dari sebuah prosesor [1]. Praktikum ini bertujuan merupakan register pada EU yang berfungsi untuk menyimpan
untuk memahami register dan operasinya pada mikroprosesor data yang akan diolah atau hasil keluaran operasi oleh ALU.
Intel 8086 menggunakan software emu8086. Register ini mempunyai penyimpanan sebesar 16 bit yang
dibagi menjadi high register dan low register, yang tiap – tiap
bagiannya memiliki penyimpanan sebesar 8 bit. Register 8 bit
terdiri atas 8 buah, diantaranya AH, AL, BH, BL, CH, CL,
DH, dan DL. Register 16 bit terdiri dari 4 buah, yaitu AX, BX, baris. Klik single step lagi untuk menjalankan baris berikutnya
CX, dan DX. hingga berada pada baris terakhir, ret.
Tiap – tiap register 16 bit memiliki fungsi tersendiri. AX Setelah semua baris selesai dijalankan kemudian saatnya
(Accumulator Register, AH+AL) berfungsi untuk menyimpan mengamati general purpose register dan flag register. General
hasil dari operasi matematika. BX (Base Register, BH+BL) purpose register berada di kiri dari jendela emulator yang
berfungsi untuk menyimpan alamat offset data dalam memori. terdapat tulisan AX, BX, CX, DX. Untuk melihat flag register,
CX (Counter Register, CH+CL) berfungsi untuk menyimpan klik ikon flag pada bagian bawah jendela emulator. Jendela
jumlah lompatan pada proses perulangan. DX (Data Register, flag register akan muncul. Setelah itu kemudian hasil dari flag
DH+DL) berfungsi sebagai register data [2]. register dicatat pada lembar kerja yang disediakan. Langkah
yang sama juga dilakukan untuk percobaan ASCII dengan
C. Flag Register mengganti source code percobaan operasi pada register pada
Flag register merupakan register 16 bit yang berfungsi lembar kerja emu8086 dengan percobaan kode ASCII.
untuk menunjukkan status operasi yang dilakukan oleh
mikroprosesor. Setiap bit pada register ini berfungsi sebagai IV. HASIL DAN ANALISIS
penanda, nilai tiap bit akan berubah bergantung proses yang
A. Operasi pada register
sedang dikerjakan oleh mikroprosesor. Terdapat 9 flag dalam
flag register 8086 seperti pada Tabel 1 [3]. Tabel 2 Bilangan Hexa menjadi binner
Hexa Binner
Tabel 1 flag register dan fungsinya
23h 00100011
Flag register Fungsi
59h 01011001
Carry Flag (CF) 1, carry melebih MSB.
0, tidak ada carry melebihi MSB.
00000 0110
Parity Flag (PF) 1, parity genap
00010 0011
0, parity ganjil 00101 1001
Auxiliary Carry Flag (AF) 1, terdapat carry pada bit 3 dan 4. ………………… ……… +
0, tidak ada bawaan. 0111 1100
Zero Flag (AZ) 1, operasi menghsilkan 0. ………………… ……… ..
0, operasi tidak menghasilkan 0.
Tabel 3 Status Flag
Sign Flag (SF) 1, MSB negatif.
Flag register Nilai Alasan
0, MSB positif.
CF – Carry Flag 0 Karena tidak ada carry pada
Trap Flag (TF) 1, dapat dilakukan debugging.
bit MSB.
0, tidak bisa debugging.
PF – Parity Flag 0 Karena ganjil.
Interrupt Enable Flag (IF) 1, pin INTR enable.
AF-Auxiliary Flah Karena pada bit ke-3 tidak
0, pin INTR disable. terdapat carry.
AZ – Zero Flag 0 Karena hasil operasi tidak
Direction Flag (DF) 1, cacahan turun string.
menghasilkan 0.
0, cacahan naik string. SF – Sign Flag 0 Karena MSB posisitf.
Overflow Flag (OF) 1, terjadi overflow. TF – Trap Flag 0 Karena debugging tidak
diperlukan.
0, tidak terjadi overflow. IF – Interrupt Enable Flag 1 Karena menggunakan
interrupt.
III. METODE PRAKTIKUM DF – Direction Flag 0 Karena tidak menggunakan
string.
Pada praktikum ini dilakukan 2 percobaan yaitu operasi OF – Overflow Flag 0 Karena tidak terjadi
pada register dan kode ASCII. Percobaan ini dilakukan mandiri overflow.
di rumah. Alat dan bahan yang dibutuhkan yaitu komputer atau Pada percobaan pertama ini dihasilkan status flag seperti
laptop dan sofware emu8086. yang terlihat pada Tabel 3. CF bernilai 0 karena dapat terlihat
pada operasi penambahan binner bahwa bit ke-8 atau bit MSB
Percobaan pertama yaitu operasi pada register dimulai
tidak memiliki carry dari bit sebelumnya (angka berwarna
dengan membuka software emu886. Setelah emu8086 terbuka
klik pilihan new. Kemudian akan muncul jendela choose code merah merupakan carry atau tidak). PF bernilai 0 karena dapat
template, klik pilihan COM template dan klik OK. Pada tahap terlihat pada bilangan binner hasil penjumlahan memiliki
ini seharunya sudah muncul lembar kerja sebagai tempat logika 1 berjumlah 5 (lima merupakan bilangan ganjil). AF
source code sudah muncul. Kemudian ketikkan source code bernilai 0 karena dapat terlihat pada bit ke 3 yang angka merah
pada modul praktikum bagian operasi pada register. Setelah tercetak tebal dengan garis dibawahnya, bit 3 tidak memiliki
selesai diketik kemudian klik ikon emulate. Jendela emulator carry. AZ bernilai 0 kerena hasil operasi penambahan tidak
dan original source akan muncul. Untuk menjalankan program, menghasilkan nilai 0, dapat terlihat pada proses perhitungan
klik single step. Single step akan menjalankan program tiap diatas dihasilkan binner 01111100 atau dalam desimal sebesar
124. SF bernilai 0 karena pada MSB bernilai 0 atau bisa
dikatakan positif. TF bernilai 0 karena pada proses AF – Auxiliary Carry Flag 0 Karena pad abit ke-3 tidak
penambahan ini tidak perlu debugging. IF bernilai 1 karena terdapat carry.
mikroprosesor diperintah untuk melakukan operasi AZ – Zero Flag 0 Karena hasil operasi tidak
penambahan, jika tidak melakukan apapun maka akan bernilai menghasilkan 0.
0. DF bernilai 0 karena pada percobaan ini, operasi yang SF – Sign Flag 0 Karena MSB posisitf.
dilakukan tidak menggunakan string. OF bernilai 0 karena TF – Trap Flag 0 Karena debugging tidak
diperlukan.
tidak terjadi overflow atau bit yang melebihi jumlah maksimal
IF – Interrupt Enable Flag 1 Karena menggunakan
bit yang ditambahkan. interrupt.
DF – Direction Flag 0 Karena tidak menggunakan
string.
OF – Overflow Flag 0 Karena tidak terjadi
overflow.
Pada percobaan pertama bagian kedua ini dihasilkan status
flag seperti yang terlihat pada Tabel 5. CF bernilai 0 karena
Gambar 2 Proses menyimpan nilai ke register AX dan BX dapat terlihat pada operasi penambahan binner bahwa bit ke-8
atau bit MSB tidak memiliki carry dari bit sebelumnya (angka
berwarna merah merupakan carry atau tidak). PF bernilai 1
karena dapat terlihat pada bilangan binner hasil penjumlahan
memiliki logika 1 berjumlah 4 (empat merupakan bilangan
genap). AF bernilai 0 karena dapat terlihat pada bit ke 3 yang
angka merah tercetak tebal dengan garis dibawahnya, bit 3
Gambar 3 Proses penambahan dan penyimpanan tidak memiliki carry. AZ bernilai 0 kerena hasil operasi
Gambar 2 dan 3 menunjukkan bagaimana peran register penambahan tidak menghasilkan nilai 0, dapat terlihat pada
pada eksekusi program penjumlahan antara bilangan proses perhitungan diatas dihasilkan binner 01001011 atau
heksadesimal 23h dan 59h. Hal pertama kali yang dilakukan dalam desimal sebesar 75. SF bernilai 0 karena pada MSB
adalah menyimpan nilai heksadesimal 23h ke register AX. bernilai 0 atau bisa dikatakan positif. TF bernilai 0 karena
Dapat terlihat pada Gambar 2 pada bagian register AX terisi pada proses penambahan ini tidak perlu debugging. IF bernilai
heksadesimal 23 pada AL karena nilai binnernya tidak lebih 1 karena mikroprosesor diperintah untuk melakukan operasi
dari 8 bit. Kemudian eksekusi berikutnya menyimpan nilai penambahan, jika tidak melakukan apapun maka akan bernilai
heksadesimal 59h ke register BX. Dapat terlihat pada Gambar 0. DF bernilai 0 karena pada percobaan ini, operasi yang
2 pada bagian register BX terisi heksadesimal 59 pada BL dilakukan tidak menggunakan string. OF bernilai 0 karena
karena karena nilai binnernya juga tidak lebih dari 8 bit. tidak terjadi overflow atau bit yang melebihi jumlah maksimal
Kemudian yang terakhir adalah menambahkan nilai yang bit yang ditambahkan.
tersimpan pada AX dan BX dan hasil penjumlahannya
disimpan pada AX. Dapat terlihat pada Gambar 3 pada bagian
register AX terisi heksadesimal 7ch pada AL karena nilai
binner hasil penjumlahannya juga tidak lebih dari 8 bit. Gambar 4 Proses menyimpan nilai ke register AX dan BX
Tabel 4 Bilangan Hexa ke binner untuk NIM
Hexa Binner
12h 00010010
39h 00111001

Gambar 5 Proses penambahan dan penyimpanan


0110 0000
0001 0010 Gambar 4 dan 5 menunjukkan bagaimana peran register
0011 1001 pada eksekusi program penjumlahan antara bilangan
………………… ……… + heksadesimal 12h dan 39h. Hal pertama kali yang dilakukan
0100 1011 adalah menyimpan nilai heksadesimal 12h ke register AX.
………………… ……… .. Dapat terlihat pada Gambar 4 pada bagian register AX terisi
heksadesimal 12h pada AL karena nilai binnernya tidak lebih
Tabel 5 Status Flag NIM dari 8 bit. Kemudian eksekusi berikutnya menyimpan nilai
Flag register Nilai Alasan
heksadesimal 39h ke register BX. Dapat terlihat pada Gambar
4 pada bagian register BX terisi heksadesimal 39h pada BL
CF – Carry Flag 0 Karena tidak ada carry pada
karena nilai binnernya juga tidak lebih dari 8 bit. Kemudian
bit MSB atau bit ke-8. yang terakhir adalah menambahkan nilai yang tersimpan pada
PF – Parity Flag 1 Karena bit yang berilai 1 AX dan BX dan hasil penjumlahannya disimpan pada AX.
berjumlah 4 sehingga genap Dapat terlihat pada Gambar 5 pada bagian register AX terisi
heksadesimal 4bh pada AL karena nilai binner hasil
penjumlahannya juga tidak lebih dari 8 bit.
B. Kode ASCII
Tabel 6 Kode ASCII modul
Kode ASCII(h) Symbol
45h E
4ch L
45h E
4bh K
54h T
52h R
4fh O Gambar 7 Simulasi ASCII nama pada emu8086
ASCII nama penulis jika didefinisikan simbolnya maka
akan terlihat terlihat seperti Tabel 7. Pada source code Gambar
7, Tiap – tiap ASCII dimaskukkan dalam variabel B dengan
tipe Assembler Directive yang digunakan adalah DB (Define
Byte). Setelah itu variabel B disimpan dalam register low 8 bit
CX (Counter Register). Dapat terlihat pada Gambar 7, register
low CX terlihat tersisi angka. Angka tersebut juga merupakan
angka hexadesimal yang merupakan huruf pertama dari kata
Gambar 6 Simulasi contoh ASCII praktikum pada emu8086 yang disimpan yaitu huruf titik (.).
Contoh ASCII pada modul praktikum jika didefinisikan V. KESIMPULAN
simbolnya maka akan terlihat terlihat seperti Tabel 6. Pada
source code Gambar 6, Tiap – tiap ASCII dimaskukkan dalam Prosesor Intel 8086 dapat digunakan sebagai pembelajaran
variabel A dengan tipe Assembler Directive yang digunakan dasar kinerja prosesor. Keterbatasan alat bukan penghalang
adalah DB (Define Byte). Definisi Assembler Directive secara untuk belejar, emu8086 merupakan solusi untuk belajar
singkatnya adalah untuk mengatur proses yang dilakukan oleh meknisme prosesor Intel 8086 secara simulasi. Emu8086
program Assembler. Sedangkan untuk definis DB sendiri sudah mengakomodasi bagian – bagian Intel 8086 dan
adalah untuk memberi nilai 1 byte ke memori program berupa kinerjanya seperti register, dan flag. Dapat ditarik kesimpulan
angka maupun ASCII, tapi dalam praktikum ini yang dari percobaan yang dilakukan bahwa flag berfungsi untuk
digunakan adalah nilai dalam ASCII [4]. memberikan status dari operasi yang dilakukan dan register
digunakan sebagai tempat penyimpanan sementara.
Setelah itu variabel A disimpan dalam register high 8
bit AX (Accumulator Register). Dapat terlihat pada Gambar 6, DAFTAR PUSTAKA
register high AX terlihat tersisi angka. Angka tersebut [1] Buku Petunjuk Praktikum Mikroprosesor dan
merupakan angka hexadesimal yang merupakan huruf pertama Mikrokontroler STE527. Jurusan Teknik Elektro
dari kata yang disimpan yaitu huruf E. Universitas Islam Indonesia, 2019, p. 2.
Tabel 7 Kode ACSII nama
Kode ASCII(h) Symbol [2] U. Pambudi, Pengembangan Perangkat Pembelajaran
45h E
Mata Kuliah Praktek Sistem Mikroprosesor
Menggunakan KIT Trainer MPA-22. Jurusan Teknik
4bh K
Elektro Universitas Negeri Semarang, 2011.
41h A
50h P
[3] S. Wardoyo, Dasar Mirkoprosesor. Universitas Sultan
Ageng Tirtayasa, 2011.
55h U
54h T [4] Mikrokontroller, Modul 4: Menggunakan Bahasa
Pemograman Assembly. Universitas Negeri Yogyakarta,
52h R
pp. 69-79.
41h A
LAMPIRAN
View publication stats

Anda mungkin juga menyukai