Anda di halaman 1dari 5

PENGANTAR MIKROPROSESOR DAN BAHASA PEMROGRAMAN ASSEMBLY

Dennis Auldentio Wennas,


E-mail : dennis.wenas@pln.co.id
Program Studi Teknik Elektro, Institut Teknologi PLN

Abstrak

Semakin berkembangnya teknologi pembuatan mikroprosesor dan semakin murahnya biaya produksi yang
digunakan, memungkinkan para insinyur komputer untuk mengembangkan mikro komputer. Mikroprosesor tersebut
juga memungkinkan pengembangan produk- produk seperti intelligent-terminal, automatic teller machine dan point
of sale terminal yang biasa dipakai di took-toko retail. Mikroprosesor juga banyak digunakan sebagai rangkaian
kontrol dalam industri robot, alat-alat penelitian dan peralatan-peralatan rumah sakit. Bahasa rakitan atau lebih
sering dikenal dengan Bahasa Assembly adalah Bahasa pemrograman tingkat rendah yang dipakai untuk
memprogram perangkat keras seperti mikroprosesor dan mikrokontroler. Bahasa ini merupakan Bahasa
pemrograman yang berisi instruksi-instruksi yang diterjemahkan oleh decoder menjadi Bahasa mesin yang
dimengerti oleh komputer. Di dalam penelitian ini, penulis menjelaskan terkait cara kerja mikroprosesor dan
menggunakan pemrograman assembly untuk memprogram mikroprosesor, memahami fungsi dari interupsi pada
mikroprosesor dan memahami cara meminta masukkan dari keyboard dan menampilkan pada layer. Metode yang
digunakan dalam penelitian ini meliputi penelitian lapangan, studi pustaka dan analisis. Langkah-langkah yang
dilakukan di dalam penelitian lapangan ini menggunakan komputer dan aplikasi emulator 8086 yang diujicobakan
dalam 3 program.

Kata kunci: mikroprosesor, bahasa pemrograman assembly

1. Pendahuluan
Mikroprosesor adalah sebuah industri dan ilmu pengetahuan.
komponen rangkaian elektronik terpadu Mikroprosesor tersebut juga
yang terdiri dari rangkaian aritmatik, logik memungkinkan pengembangan produk-
dan kontrol yang diperlukan untuk produk seperti intelligent-terminal,
menjalankan fungsi-fungsi sebuah CPU automatic teller machine dan point of sale
(central Processing Unit) dari sebuah terminal yang biasa dipakai di took-toko
computer digital. Rangkaian elektronika retail. Mikroprosesor juga banyak
terpadu tersebut dapat menerjemahkan digunakan sebagai rangkaian kontrol dalam
instruksi dari sebuah program serta industri robot, alat-alat penelitian dan
menangani operasi aritmatik. Pada awal peralatan-peralatan rumah sakit. Kemajuan
tahun 1980 teknologi VLSI (Very Large teknologi tersebut juga memungkinkan
Scale Integration) berkembang sangat pesat mikroprosesor dipakai untuk produk-
dan digunakan sebagai rangkaian elektronik produk konsumen seperti: programmable
dalam sebuah mikroprosesor, yang mampu microwave oven, televisi, game-game
menggabungkan ratusan ribu komponen elektronik dan juga dalam bidang-bidang
elektronik dalam sebuah chip yang otomotif.
mempunyai ukuran sama dengan chip LSI. Bahasa rakitan atau lebih sering
Dengan semakin berkembangnya teknologi dikenal dengan Bahasa Assembly adalah
pembuatan mikroprosesor dan semakin Bahasa pemrograman tingkat rendah yang
murahnya biaya produksi yang digunakan, dipakai untuk memprogram perangkat
memungkinkan para insinyur computer keras seperti mikroprosesor dan
untuk mengembangkan mikro komputer. mikrokontroler. Bahasa ini merupakan
Komputer semacam ini mempunyai ukuran Bahasa pemrograman yang berisi instruksi-
yang lebih kecil daripada televisi portable instruksi yang diterjemahkan oleh decoder
tetapi mempunyai kemampuan hitung yang menjadi Bahasa mesin yang dimengerti
cukup baik untuk dipakai dalam bisnis, oleh komputer.
Pada bahasa rakitan, programmer komponen yang ada pada mikroprosesor
umumnya menggunakan sebuah program yaitu yang pertama control system dimana
utilitas yang disebut sebagai perakit ( untuk mengatur aliran data bus, dan
bahasa Inggris : assembler ) yang digunakan menghasilkan sinyal dalam mikroprosesor
untuk menerjemahkan kode dalam bahasa untuk melaksanakan instruksi yang
rakitan tersebut ke dalam mesin untuk diberikan, kemudian Arithmetic Logic Unit
perangkat keras tertentu. Sebuah perintah (ALU) berfungsi sebagai akumulator, yang
dalam bahasa rakitan biasanya digunakan ketiga adalah General purpose register
untuk menerjemahkan sebuah instruksi sebagai penyimpanan data 8-bit dan dapat
mnemonic dalam kode mesin, berlainan digabungkan untuk menyimpan data 16-bit.
seperti halnya dengan kompiler pada bahasa Contohnya register AX,BX, CX dan DX,
pemrograman tingkat ketinggian yang kemudian Pointer dan indeks resgiter
menerjemahkan perintah dalam instruksi sebagai penyimpan alamat dari mulainya
dalam kode. sutau segmen, berikutnya Instruction queue
Beberapa perangkat lunak bahasa berfungsi membantu menjalankan instruksi
rakitan yang terkenal biasanya melahirkan dari execution queue agar proses eksekusi
tambahan fitur untuk memfasilitasi bagian menjadi lebih cepat, dan segment sebagai
pengembangan program, mengontrol penyimpan alamat dari instruksi dan data
bagian perakitan, dan alat bantu memori pada prosesor untuk megakses
pengawakutuan (debugging). lokasi memori.
Tujuan utama dalam penelitian ini Pada Mikroprosesor 8086 memakai
adalah mampu memahami dan Bahasa pemograman assembly , dimana
menjelaskan cara kerja mikroprosesor dan Bahasa ini adalah Bahasa tingkat rendah
menggunakan pemrograman assembly untuk memprogram perangkat keras
untuk memprogram mikroprosesor, seperti mikroprosesor dan mikrokontroller
memahami fungsi dari interupsi pada yang berisi instruksi-instruksi yang
mikroprosesor dan memahami cara diterjamahkan dan decoder menjadi
meminta masukkan dari keyboard dan Bahasa mesin supaya computer dapat
menampilkan pada layer. mengerti Bahasa tersebut. Kemudian
didalam mikroprosesor terdapat
2. Metode Penelitian permintaan khusus untuk melakukan
Metode yang digunakan dalam sesuatu yang disebut interupsi (interrupt).
penelitian ini meliputi penelitian lapangan, Insterupsi ini akan menjalankan perintah
studi pustaka dan analisis. Langkah- berhenti atau bekerja tergantung yang di
langkah yang dilakukan di dalam penelitian minta oleh programmer. Interupsi dibagi
lapangan ini menggunakan komputer dan menjadi 2 yaitu BIOS dan DOS. Interupsi
aplikasi emulator 8086. BIOS dimulai dari interrupt 00h-1fh(0-31)
dan interupsi DOS dimulai dari interrupt
3. Hasil Pembahasan 20h-FFH (32-255). Didalam kita
Pada penelitian ini, dimana alat dan mejalankan program ada yang disebut
bahan yang digunakan adalah Komputer Input dan Output, Input adalah dari
dan Aplikasi Emu8086. Mikroprosesor keyboard dan mouse sedangkan Output
adalah komponen rangkaian elektronik adalah tampilan pada layer monitor
yang terdiri dari rangkaian arimatik, logic computer dan trasmisi data lewat port
dan control untuk menjalankan fungsi- mikroprosesor.
fungsi sebuah CPU (Central Processing
Unit) dari Komputer. Komponen-
Program 1

Pada modul ini untuk Program 1 mencetak satu buah karakter secara
adalah untuk mencetak Huruf “A” ke otomatis menggunakan register AH, secara
layer” , dimana disini ada .MODE singkatnya Fungsi MOV ini memasukan
SMALL, .CODE, dan .ORG 100 H ini nilai servis 02H ke dalam register AH..
adalah header. .MODE SMALL disebut Kemudian MOV DL,'A' ini adalah DL =
sebagai size atau ukuran file dari program 1 Karakter ASCII Code yang akan dicetak
ini tetapi ukuran file tersebut tidak lebih atau dalam arti lain MOV disini memasukan
dari 64 Kb, , .CODE ini adalah perintah nilai A yaitu nilai A sendiri adalah 41,
untuk masukkan segment dari .Code bilangan Heksadesimal ke dalam register
tersebut, .ORG 100 H menunjukkan dimana DL (41 ini adalah ASCI code dari A). INT
ketika memulai program ini dimulai dari bit 21H ini adalah perintah untuk mencetak
100 Hexadesimal. ORG 100 H ini sangat Karakter dan setiap perintah mencetak
diperlukan untuk menjalankan program , karakter akan menampilkan layer hitam,
karena ini masukkan dari Asci codes 000 disini yang dicetak adalah nilai “A”, INT
sampai 225 yang dimana dimasukkan ke 20H ini berfungsi untuk menyelesaikan
dalam program tersebut. Kemudian ada program ini. Maka ketika dirunning akan
Label Proses ini adalah sebagai label untuk tampi layer hitam dengan satu karakter
proses program tersebut. Untuk MOV AH, bernilai A.
02H ini Nilai 02H adalah nilai servis untuk

Program 2

Pada Program 2 adalah mencetak karakter beserta atribut, atribut yang


dicetak disini adalah warna font dan warna penomoran pada halaman layar, kemudian
background. Disini menggunakan header MOV BL 93 H berfungsi untuk memberi
yang sama yaitu MODE SMALL, .CODE, Warna atau atribut dari karakter tersebut.
dan .ORG 100 H. MODE SMALL disebut MOV CX,03H perintah untuk menentukan
sebagai size atau ukuran file dari program 1 Banyaknya karakter yang ingin dicetak, jadi
ini tetapi ukuran file tersebut tidak boleh artinya karakter A yang akan dicetak
lebih dari 64 Kb, , .CODE ini adalah sebanyak 3 kali, dimana nilai servis 03H di
perintah untuk masukkan segment dari masukkan ke register CX. Intrup 10 H ini
.Code tersebut, .ORG 100 H menunjukkan berpasangan dengan servis 09H pada
dimana ketika memulai program ini dimulai program ini, karena intrup 10 H ini
dari bit 100 Hexadesimal. MOV AH, 09H berfungsi untuk menambahkan variasi , atau
adalah mencetak dua atau lebih karakter mode video pada program ini. Maka ketika
secara otomatis, jadi dimasukan register AH di Run akan tampil layer hitam dengan nilai
ini dengan nilai servis 09 H. Kemudian A sebanyak 3 karakter sesuai perintah CX.
MOV AL A dimana AL = Karakter yang Untuk background karakter tersebut
akan dicetak, artinya MOV disini berwarna Light blue , pada tabel warna
memasukan nilai A yaitu nilai A sendiri Light blue bernilai 9 dan warna font
adalah 42, bilangan Heksadesimal ke dalam berwarna cyan yang nilai servisnya 3 ini
register AL (42 ini adalah ASCI code dari dari perintah MOV BL 93 H.
A). Setelah itu MOV BH, OOH ini adalah

Program 3

Pada Program 3 ini adalah untuk program. Tanda $ (dolar) ini adalah string,
Meminta memasukkan dan dimana string itu adalah kumpulan dari
menampilkan masukan. Jadi pada modul beberapa karakter. Kemudian untuk MSG
III ini adalah meminta masukkan dari 2 disini ada DB 10,13 , DB 10 disini
keyboard dilayar hitam . Disini berfungsi untuk baris baru sedangkan nilai
menggunakan header yaitu MODE 13 untuk meratakan pada tampilan layer
SMALL, .ORG 100 H, .CODE, dan pada tulisan. ENTER YOU CHACTER
.DATA, header . DATA ini berfungsi dan THE CHARACTER IS tidak
untuk memberitahukan kepada Assembler nyambung atau ada spasi pada layer hitam.
bahwa kita akan menggunakan data, data Start disini adalah label pada program ini,
program ini yaitu MSG 1 dan MSG 2. kemudian tahap pertama pada MOV DX,
MSG 1 berisi Define Bytes (DB) disini OFFSET MSG 1 , OFFSET ini berfungsi
adalah suatu perintah untuk untuk memanggil alamat data dari MSG 1.
mendefinisikan suatu karakter baik berupa Kemudian ada MOV AH 09H disini adalah
numerik atau teks untuk dipanggil pada nilai servis untuk mencetak karakter
tersebut. INT 21 H berfungsi untuk 2. Arithmetic Logic Unit (ALU)
mengeksekusi perintah dari MOV AH 09H berfungsi sebagai akumulator.
tersebut . Tahap kedua berikutnya adalah 3. General purpose register sebagai
MOV AH,01 H berfungsi untuk membaca penyimpanan data 8-bit dan dapat
masukan 1 karakter dari keyboard dan akan digabungkan untuk menyimpan data
menampilkan dilayar hitam dan INT 21H 16-bit. Contohnya register AX,BX, CX
disini berfungsi untuk mengeksekusi MOV dan DX, kemudian Pointer dan indeks
AH 21H . Kemudian Tahap tiga ada MOV resgiter sebagai penyimpan alamat dari
BL, AL “MOV disini untuk menyimpan isi mulainya sutau segmen, berikutnya
AL ke BL tersebut. Setelah itu ada MOV Instruction queue berfungsi membantu
DX, OFFSET MSG 2 , OFFSET ini menjalankan instruksi dari execution
berfungsi untuk memanggil alamat data queue agar proses eksekusi menjadi
dari MSG 2. MOV AH, 09H adalah nilai lebih cepat, dan segment sebagai
servis untuk mencetak karakter dan ada penyimpan alamat dari instruksi dan
INT 21H disini berfungsi untuk data memori pada prosesor untuk
mengeksekusi MOV AH 09H dimana megakses lokasi memori.
perintah ini mencetak “THE
CHARACTER IS” pada tampilan layar. Untuk dapat memahami fungsi dari
Tahap keempat adalah MOV DL, BL interupsi pada mikroprosesor Insterupsi ini
“MOV disini untuk menyimpan isi DL ke akan menjalankan perintah berhenti atau
BL tersebut. Kemudian ada MOV AH, 02 bekerja tergantung yang di minta oleh
H berfungsi untuk mencetak karakter tapi programmer. Interupsi dibagi menjadi 2
hanya satu karakter secara otomatis yaitu yaitu BIOS dan DOS. Interupsi BIOS
karakter A dan dengan intrupt 21H dimana dimulai dari interrupt 00h-1fh(0-31) dan
untuk mencetak data pada alamat DL. Dan interupsi DOS dimulai dari interrupt 20h-
terakhir INT 20 H dimana untuk FFH (32-255). Selain itu untuk dapat
mengakhiri program dan menyerahkan memahami cara meminta masukkan dari
kendali kepada DOS. Jadi ketika di running keyboard dan menampilkan pada layer
akan tampil “ENTER YOU CHACTER” adalah Didalam kita mejalankan program
dan ketika dimasukkan karakter A akan ada yang disebut Input dan Output, Input
tampil THE CHARACTER IS A” pada adalah dari keyboard dan mouse sedangkan
layer hitam. Output adalah tampilan pada layer monitor
computer dan trasmisi data lewat port
4. Kesimpulan mikroprosesor.
Dari hasil penelitian ini dapat
diperoleh kesimpulan terkait cara kerja
mikroprosesor dan cara menggunakan
pemrograman assembly untuk 5. Daftar Pustaka
memprogram mikroporsesor. Hal yang 1. Panduan Pengembang Perangkat Lunak
harus diperhatikan yang ada pada Arsitektur Intel, Volume 2: Referensi
mikroprosesor yaitu : Set Instruksi . PERUSAHAAN INTEL.
1. Control system dimana untuk mengatur 1999. hlm. 442 dan 35 . Diakses tanggal
aliran data bus, dan menghasilkan 18 November 2010 .
sinyal dalam mikroprosesor untuk http://kelaskaryawan.untara.ac.id/
melaksanakan instruksi yang
diberikan,
.

Anda mungkin juga menyukai