• Tidak ada hasil yang ditemukan

Perangkat Lunak Pembelajaran Modus Pengalamatan Dan Operasi Aritmatika Pada Mikroprosesor Intel 80888086

N/A
N/A
Protected

Academic year: 2018

Membagikan "Perangkat Lunak Pembelajaran Modus Pengalamatan Dan Operasi Aritmatika Pada Mikroprosesor Intel 80888086"

Copied!
9
0
0

Teks penuh

(1)

Volume 8 No 1, April 2017

JURNAL IT

VISUALISASI BANGUNAN PADA MASJID

Perangkat Lunak Pembelajaran

Modus Pengalamatan Dan Operasi Aritmatika

Pada Mikroprosesor

Intel 8088/8086

Muhammad Akbar

Sistem Komputer STMIK Handayani akbar.stmikhdy@gmail.com

Abstrak

Penelitian ini dibahas rancang dan pembuatan perangkat lunak pembelajaran modus pengalamatan dan operasi aritmatika pada mikroprosesor Intel 8088/8086. Sistem ini dibuat menggunakan bahasa pemprograman Microsofot Visual Basic dengan beberapa komponen standar. Instruksi - instruksi mikroprosesor INTEL 8088/8086 yang didukung di dalam perangkat lunak ini adalah modus pengalamatan (MOV), penjumlahan (ADD), penjumlahan dengan satu (INC), penjumlahan

dengan carry (ADC), pengurangan (SUB), pengurangan dengan satu (DEC), pengurangan dengan

pinjaman (SBB), perkalian (MUL) dan pembagian (DIV). Sedangkan register – register yang didukung adalah general purpose register, yaitu AX, BX, CX, DX, dan register flag, yaitu Z (Zero), C (Carry), A (Half-Carry), S (Sign), P (Parity) dan O (Overflow). Hasil dari penelitian ini User dapat mempelajarai dengan seksama modus pengalamatan dan operasi aritmatika pada mikroprosesor Intel 8088/8086 dengan cara meng-input instruksi – instruksi op-code yang didukung dan perangkat lunak akan mengeksekusi instruksi baris per baris dan menunjukkan perubahan isi register akibat dari instruksi yang dieksekusi

Kata kunci: Perangkat lunak Pembelajaran, Mikroprosesor Intel 8088/8086, register, instruksi.

1. Pendahuluan

Prosesor Intel 8088/8086 merupakan mikroprosesor yang menjadi mesin bagi

mikrokomputer-mikrokomputer IBM PC/XT dan kompatibelnya. Prosesor ini sering disebut dengan singkat sebagai “8088” atau “8086” saja. Walaupun perangkat keras 8088 sedikit berbeda dengan 8086, tetapi keduanya dapat dipandang sama dari sisi pemrograman. Intel 8088/8086 adalah prosesor 16 bit, artinya lintasan data dan register-nya berukuran 16 bit.

Kebanyakan instruksi dalam program bahasa Assembly membutuhkan operand, yaitu data yang akan diolah. Cara menentukan atau memperoleh harga operand ini disebut sebagai modus pengalamatan (addressing mode). Modus pengalamatan terbagi atas beberapa macam antara lain,

pengalamatan register, pengalamatan segera, pengalamatan langsung dan pengalamatan tak

(2)

Volume 8 No 1, April 2017

JURNAL IT

dan mengerti kegunaannya masing – masing. Register adalah sebagian kecil memori komputer yang dipakai untuk tempat penampungan data dengan ketentuan bahwa data yang terdapat dalam register dapat diproses dalam berbagai operasi dengan melihat berapa besar kemampuan menampung register tersebut. Register dapat dibagi dalam lima golongan yaitu general purpose register (AX, BX, CX dan DX), segment register (CS, DS, SS dan ES), pointer register (IP, SP dan BP), index register (SI dan DI) dan flag register.

Penulis tertarik untuk mempelajari tentang modus pengalamatan dan operasi aritmatika pada bahasa Assembly dan mengamati perubahan isi register yang terjadi. Oleh karena itu, penulis

membuat penelitian dengan judul “Perangkat Lunak Pembelajaran Modus Pengalamatan dan

Operasi Aritmatika pada Mikroprosesor Intel 8088/8086”.

2. Tinjauan Pustaka

2.1. Perangkat Keras Mikroprosesor 8088/8086

CPU

Gambar. 1 (a) Pin-out mikroprosesor 8086; (b) pin-out mikroprosesor 8088

Gambar 1 di atas mengilustrasikan pin-out mikroprosesor 8086 dan 8088. Sebagaimana terlihat jika dibandingkan dengan teliti, secara virtual sebenarnya tidak ada perbedaan antara kedua mikroprosesor ini, keduanya terkemas dalam dual in-line package (DIP) 40-pin.

8086 merupakan mikroprosesor 16-bit dengan bus data 16-bit dan 8088 merupakan mikroprosesor 16-bit dengan bus data 8-bit. Sebagaimana ditunjukkan oleh pin-out, 8086 memiliki koneksi pin AD0-AD15, dan 8088 memiliki koneksi pin AD0-AD7. Lebar bus data dengan demikian merupakan satu-satunya perbedaan utama antara kedua mikroprosesor ini.

(3)

Volume 8 No 1, April 2017

JURNAL IT

2.2.Bahasa Assembler 8088/8086

Bahasa Assembler 8088 merupakan salah satu bagian dari bahasa komputer tingkat rendah,

dimana nilai 8088 ditujukan kepada mikroprosesor dengan arsitektur dasar 8088 buat Intel Corp.

Penulis memilih bahasa assembler 8086 sebagai bahasa tujuan dibanding bahasa assembler seperti 6800, Zilog, dikarenakan perangkat komputer 8086 merupakan perangkat keras yang paling banyak dipakai dewasa ini.

2.3.Perangkat Lunak Pembelajaran

Percobaan penggunaan komputer untuk proses belajar dimulai di Amerika Serikat pada akhir tahun 1950-an dan awal tahun 1960-an. Kemudian penelitian selanjutnya dilakukan oleh Harvard University bekerja sama dengan IBM pada tahun 1965. Setelah munculnya komputer mikro, sistem pengajaran dengan komputer menjadi semakin meluas pada pengembangan perangkat lunak pembelajaran yang dikenal dengan istilah perangkat lunak pembelajaran. Perangkat lunak pembelajaran dengan komputer muncul dari sejumlah disiplin ilmu, terutama ilmu komputer dan psikologi. Dari ilmu komputer dan matematika muncul program-program yang membuat semua perhitungan dan fungsi lebih mudah dan bermanfaat. Sedangkan dari ilmu psikologi muncul pengetahuan mengenai teori belajar, teknik belajar, serta motivasi yang baik.

Beberapa istilah yang digunakan untuk menyatakan perangkat lunak pembelajaran dengan komputer adalah Computer Assisted Instruction (CAI), Computer Based Instruction (CBI), Computer Based Education (CBE), Computer Assisted Learning (CAL), atau Computer Based Training (CBT).

3. Metodologi Penelitian

Instruksi - instruksi mikroprosesor INTEL 8088/8086 yang didukung di dalam perangkat lunak ini adalah modus pengalamatan (MOV), penjumlahan (ADD), penjumlahan dengan satu

(INC), penjumlahan dengan carry (ADC), pengurangan (SUB), pengurangan dengan satu (DEC),

pengurangan dengan pinjaman (SBB), perkalian (MUL) dan pembagian (DIV). Sedangkan register – register yang didukung adalah general purpose register, yaitu AX, BX, CX, DX, dan register flag, yaitu Z (Zero), C (Carry), A (Half-Carry), S (Sign), P (Parity) dan O (Overflow).

Penulis merancang penerapan modus pengalamatan dan instruksi aritmatika pada sebuah perangkat lunak. User dapat meng-input instruksi – instruksi op-code yang didukung dan perangkat lunak akan mengeksekusi instruksi baris per baris dan menunjukkan perubahan isi register akibat dari instruksi yang dieksekusi.

Perangkat lunak pembelajaran ini dirancang dengan menggunakan bahasa pemrograman Microsoft Visual Basic 6.0 dengan beberapa komponen standar seperti TextBox, Microsoft Flex Grid, PictureBox, Image, Shape, Label, dan sebagainya.

Perangkat lunak pembelajaran ini memiliki beberapa form, seperti : 1. FormSplash Screen.

(4)

Volume 8 No 1, April 2017

JURNAL IT

2. FormInput Instruksi.

Gambar 3. Form Input Instruksi

3. FormTambah Instruksi.

Gambar 4. Form Tambah Instruksi

4. Form Proses Instruksi.

(5)

Volume 8 No 1, April 2017

JURNAL IT

4. Hasil dan Analisis Algoritma Program

Hasil kasus yang peneliti lakukan adalah suatu ekspresi aritmatika dalam bilangan heksa desimal (10FF * 2) + (((AB - 25) - (C / 3)) * F), dapat ditulis ke dalam bentuk op-code sebagai berikut (hasil operasi disimpan ke register AX) :

- MOV AX, AB

- MOV BX, 25

- SUB AX, BX

- MOV BX, AX

- MOV AX, C

- MOV CX, 3

- DIV CX

- SUB BX, AX

- MOV AX, F

- MUL BX

- MOV BX, AX

- MOV AX, 10FF

- MOV CX, 2

- MUL CX

- ADD AX, BX

Input instruksi pada perangkat lunak adalah barisan op-code di atas, maka output program adalah sebagai berikut :

Gambar 6. Tampilan Output

Output hasil eksekusi adalah sebagai berikut : =============================== 1. MOV AX, AB

===============================

(6)

Volume 8 No 1, April 2017

JURNAL IT

=============================== 2. MOV BX, 25

===============================

Instruksi MOV akan menyalin bilangan 25H ke register BX. Isi register BX sekarang = 25H = 00100101.

=============================== 3. SUB AX, BX

===============================

Instruksi SUB mengurangkan isi dari register AX dan BX. Hasil pengurangan dikembalikan ke register AX.

Isi dari register AX dikurang dengan isi register BX = 0000000010101011 - 0000000000100101 = 0000000010000110

Isi dari register AX berubah menjadi 0000000010000110 Flag Z = 0 -> Hasil pengurangan tidak nol.

Flag C = 0 -> bit carry dari operasi. Flag A = 0 -> bit half carry dari operasi. Flag S = 0 -> Hasil pengurangan positif. Flag P = 0 -> Jumlah Bit bernilai '1' = 3 (ganjil). Flag O = 0 -> Hasil operasi tidak overflow.

=============================== 4. MOV BX, AX

===============================

Instruksi MOV memindahkan data dari register AX ke BX.

Isi register BX sekarang = isi dari register AX = 0000000010000110 = 0086H.

=============================== 5. MOV AX, C

===============================

Instruksi MOV akan menyalin bilangan CH ke register AX. Isi register AX sekarang = CH = 1100.

=============================== 6. MOV CX, 3

===============================

Instruksi MOV akan menyalin bilangan 3H ke register CX. Isi register CX sekarang = 3H = 0011.

=============================== 7. DIV CX

===============================

Instruksi DIV melakukan operasi pembagian isi dari register DX-AX dengan CX. Hasil bagi disimpan ke register AX. Sisa bagi disimpan ke register DX.

Isi dari register DX-AX dibagi dengan isi dari register CX.

Hasil bagi dari 00000000000000000000000000001100 / 0000000000000011 = 0000000000000100

Sisa bagi dari 00000000000000000000000000001100 / 0000000000000011 = 0000000000000000 Isi dari register AX berubah menjadi 0000000000000100.

(7)

Volume 8 No 1, April 2017

JURNAL IT

Flag C = 0 -> MSB 16 bit = 1

Flag S = 0 -> Hasil pembagian positif.

Flag P = 0 -> Jumlah Bit bernilai '1' = 1 (ganjil). Flag O = 0 -> Hasil operasi tidak overflow.

=============================== 8. SUB BX, AX

===============================

Instruksi SUB mengurangkan isi dari register BX dan AX. Hasil pengurangan dikembalikan ke register BX.

Isi dari register BX dikurang dengan isi register AX = 0000000010000110 - 0000000000000100 = 0000000010000010

Isi dari register BX berubah menjadi 0000000010000010 Flag Z = 0 -> Hasil pengurangan tidak nol.

Flag C = 0 -> bit carry dari operasi. Flag A = 0 -> bit half carry dari operasi. Flag S = 0 -> Hasil pengurangan positif. Flag P = 1 -> Jumlah Bit bernilai '1' = 2 (genap). Flag O = 0 -> Hasil operasi tidak overflow. =============================== 9. MOV AX, F

===============================

Instruksi MOV akan menyalin bilangan FH ke register AX. Isi register AX sekarang = FH = 1111.

=============================== 10. MUL BX

===============================

Instruksi MUL melakukan operasi perkalian isi dari register BX dengan AX. Hasil perkalian disimpan ke register DX-AX.

Isi dari register BX dikali isi register AX = 0000000010000010 * 0000000000001111 = 00000000000000000000011110011110

Isi dari register DX berubah menjadi 0000000000000000. Isi dari register AX berubah menjadi 0000011110011110. Flag Z = 0 -> Hasil perkalian tidak nol.

Flag C = 0 -> MSB 16 bit = 0 Flag S = 0 -> Hasil perkalian positif.

Flag P = 1 -> Jumlah Bit bernilai '1' = 8 (genap). Flag O = 0 -> Hasil operasi tidak overflow.

=============================== 11. MOV BX, AX

===============================

Instruksi MOV memindahkan data dari register AX ke BX.

Isi register BX sekarang = isi dari register AX = 0000011110011110 = 079EH.

=============================== 12. MOV AX, 10FF

===============================

(8)

Volume 8 No 1, April 2017

JURNAL IT

=============================== 13. MOV CX, 2

===============================

Instruksi MOV akan menyalin bilangan 2H ke register CX. Isi register CX sekarang = 2H = 0010.

=============================== 14. MUL CX

===============================

Instruksi MUL melakukan operasi perkalian isi dari register CX dengan AX. Hasil perkalian disimpan ke register DX-AX.

Isi dari register CX dikali isi register AX = 0000000000000010 * 0001000011111111 = 00000000000000000010000111111110

Isi dari register DX berubah menjadi 0000000000000000. Isi dari register AX berubah menjadi 0010000111111110. Flag Z = 0 -> Hasil perkalian tidak nol.

Flag C = 0 -> MSB 16 bit = 0 Flag S = 0 -> Hasil perkalian positif.

Flag P = 0 -> Jumlah Bit bernilai '1' = 9 (ganjil). Flag O = 0 -> Hasil operasi tidak overflow.

=============================== 15. ADD AX, BX

===============================

Instruksi ADD menjumlahkan isi dari register AX dan BX. Hasil penjumlahan dikembalikan ke register AX.

Isi dari register AX ditambah dengan isi register BX = 0010000111111110 + 0000011110011110 = 0010100110011100

Isi dari register AX berubah menjadi 0010100110011100 Flag Z = 0 -> Hasil penjumlahan tidak nol.

Flag C = 0 -> bit carry dari operasi. Flag A = 1 -> bit half carry dari operasi. Flag S = 0 -> Hasil penjumlahan positif. Flag P = 0 -> Jumlah Bit bernilai '1' = 7 (ganjil). Flag O = 0 -> Hasil operasi tidak overflow.

Hasil operasi disimpan pada register AX, yaitu : 0010 1011 1011 1100 (dalam biner) atau 299C (dalam heksa desimal).

5. Kesimpulan

Setelah menyelesaikan perancangan perangkat lunak pembelajaran penerapan modus pengalamatan dan operasi aritmatika pada mikroprosesor intel 8088/8086 ini, penulis menarik kesimpulan bahwa perangkat lunak ini dapat digunakan untuk memahami modus pengalamatan register dan segera serta beberapa operasi aritmatika pada mikroprosesor intel 8088/8086. Perangkat lunak dapat dijadikan sebagai media pendukung dalam proses pembelajaran mikroprosesor dasar.

(9)

Volume 8 No 1, April 2017

JURNAL IT

Daftar Pustaka

[1] Albert Paul Malvino, Elektronika Komputer Digital : Pengantar Mikrokomputer, Edisi Kedua, Penerbit Erlangga, 2004.

[2] Ario Suryokusumo, Microsoft Visual Basic, PT. Elex Media Komputindo, 2011.

[3] Barry B. Brey, Mikroprosesor Intel 8086/8088/80186/80188/80286/ 80386/80486 : Arsitektur Pemrograman Antarmuka, Edisi 5, Jilid 2, Penerbit Erlangga, 2003.

[4] Hadi, Rahadian, Pemrograman Microsoft Visual Basic dengan menggunakan Windows API, PT. Elex Media Komputindo, Jakarta, 2011.

Gambar

Gambar. 1 (a) Pin-out mikroprosesor 8086; (b) pin-out mikroprosesor 8088
Gambar 2. Form Splash Sceen
Gambar 3. Form Input Instruksi
Gambar 6.  Tampilan Output

Referensi

Dokumen terkait

jawaban dari mereka yang bertugas di Kota Bandar Lampung. Tingkat komitmen dan kinerja THL- TBPP yang bertugas di kedua lokasi dalam melaksanakan tugas pokok dan fungsi

Terdapat hubungan yang positif dan signifikan sistem informasi manajemen dan pelayanan dengan kinerja pegawai pada Rumah Tahanan (Rutan) di Makassar Hasil analisis

3.1 air baku air baku untuk air minum rumah tangga, yang selanjutnya disebut sebagai air baku adalah air yang dapat berasal dari sumber air permukaan, cekungan air tanah dan/atau

dipahami, tidak ada rasa enggan, rendah diri, malu, dan sebagainya sehingga diharapkan siswa yang kurang paham tidak segan-segan untuk mengungkapkan

dikarenakan Danau Bandar Khayangan Lembah Sari merupakan objek penelitian. Dinas Pariwisata Kota Pekanbaru merupakan lembaga yang bertugas melaksanakan pengelolaan Danau

Kemudian, budaya literasi yang dimaksudkan adalah melakukan kebiasaan berpikir yang diikuti oleh sebuah proses membaca, menulis, yang pada akhirnya, apa yang dilakukan

Bahan yang digunakan dalam penelitian ini terdiri atas: (1) surat masuk yaitu surat yang pada umumnya datang dari Fakultas, kemudian diserahkan di Jurusan untuk ditindaklanjuti