Puji dan syukur senantiasa selalu kita ucapkan kepada Allah SWT yang telah
memberi limpahan kasihnya, sehingga makalah ini dapat kami selesaikan. Makalah ini
disusun dalam rangka memenuhi salah satu tugas kelompok mata kuliah sistem
mikroprosesor. Dengan harapan kami selaku penyusun makalah ini dapat menjadi bahan
untuk memahami ilmu pengetahuan.
Makalah ini dapat disusun dengan segala kemampuan semaksimal mungkin. Namun
menyadari bahwa dalam penyusunan makalah ini tentu tidaklah sempurna dan masih
banyak kesalahan serta kekurangan. Maka dari itu kami sebagai penyusun makalah ini
mohon kritik, saran, dan pesan dari semua para pembaca makalah ini terutama dari dosen
mata kuliah sistem mikroprosesor yang dapat diharapkan sebagai bahan koreksi untuk
makalah ini.
i
DAFTAR ISI
KATA PENGANTAR....................................................................................................................i
BAB I.........................................................................................................................................1
PENDAHULUAN....................................................................................................................1
1.1 Latar Belakang..........................................................................................................1
1.2 Rumusan Masalah....................................................................................................1
1.3 Tujuan Masalah........................................................................................................1
BAB II........................................................................................................................................2
PEMBAHASAN......................................................................................................................2
A. INSTRUKSI DAN BAHASA ASSEMBLY PADA MIKROPROSESOR...................................2
B. INSTRUKSI MODE.........................................................................................................5
C. PENGALAMATAN DATA.................................................................................................13
D. PPI (PROGRAMMABLE PERIPHERAL INTERFACE)..........................................................15
E. ALGORITMA....................................................................................................................20
BAB III.....................................................................................................................................22
KESIMPULAN..........................................................................................................................22
ii
BAB I
PENDAHULUAN
1.1 Latar Belakang
Tujuan dalam penulisan makalah ini adalah untuk Melanjutkan Materi yang
bersifat berkelanjutan , tahap demi tahap materi dalam Mata Kuliah Sistem
Mikroprosesor Harus dipahami dengan Tujujuan, dapat menguasai secara
keseluruhan , disamping itu perlu digaris bawahi bahwa setiap Hal contohnya di
Mata Kuliah ini banyak ketidak sempurnaan sehingga kekurangan dalam
mengerjakan tugas ini Kami memiliki batas kemampuan yang masih perlu untuk
desempurnakan.
1
BAB II
PEMBAHASAN
A. INSTRUKSI DAN BAHASA ASSEMBLY PADA MIKROPROSESOR
Bahasa assembly merupakan bahasa yang sangat dekat dengan bahasa
mesin. Bahasa Assembly sebenarnya adalah bahasa mesin yang menggunakan
simbol-simbol instruksi (mnemonic) untuk mewakili bahasa mesin.
Setiap bahasa assembly secara langsung dipengaruhi oleh set instruksi mesin
komputer dan arsitektur perangkat keras. Seperti halnya pada komputer IBM-PC
yang menggunakan instruksi keluarga mikroprosesor Intel 8086 – 80486.
Setiap program yang dibuat dengan bahasa assembly harus dikonversi ke dalam
bahasa mesin agar dapat dieksekusi oleh mikroprosesor. Program ini
dinamakan Assembler. Dengan assembler mampu menerjemahkan program yang ditulis
dalam bahasa assembly ke dalam bahasa mesin sesuai instruksi yang kompatibel dengan
organisasi dan arsitektur mesin itu sendiri.
Alasan utama mengapa bahasa aseembly masih digunakan adalah penggunaan
pemrograman tertentu cukup sulit atau tidak mungkin dikerjakan oleh bahasa tingkat
tinggi. Contoh, komunikasi langsung dengan sistem operasi komputer mungkin
diperlukan. Program grafis warna dengan kecepatan tinggi mungkin harus ditulis
menggunakan memori minimum. Program yang digunakan untuk menghubungkan
antara peripheral printer dengan komputer.
Bahasa assembly memiliki sedikit batasan atau aturan. Harga yang harus dibayar
untuk keleluasaan itu adalah perlu menangani berbagai kerumitan dalam pemrograman.
Biasanya kita membuat subrutin dalam bahasa rakitan dan memanggilnya dari program
bahasa tingkat tinggi seperti C, dan C++. Keuntungan yang dapat diperoleh karena
ketatnya bahasa tingkat tinggi, dengan menggunakan bahasa tingkat rendah dalam
membuat aplikasi. Subrutin bahasa assembly menangani operasi – operasi yang tidak
tersedia dalam bahasa tingkat tinggi. Misalnya kita menulis program aplikasi bisnis
dalam C++ untuk IBM-PC. Kita memerlukan aplikasi untuk mengecek ruang kosong pada
disk, membuat subdirectory, menulis proteksi file, dan membuat window
yang overlapping, semuanya dalam satu program. Misalnya kompiler C++ tidak dapat
melakukannya semua, maka kita dapat membuat subrutin bahasa assembly untuk
menangani tugas-tugas tersebut.
Bahasa mesin adalah bahasa yang dibangun oleh sejumlah angka yang dapat
diinterpretasikan oleh CPU komputer. CPU biasanya mempunyai program kecil yang
ditambahkan langsung ke dalam chip, disebut microcode. Penerjemah micorcode
mengubah langsung instruksi-instruksi mesin ke dalam sinyal perangkat keras.
Dengan bahasa mesin memungkinkan untuk melaksanakan tugas-tugas umum oleh CPU,
seperti pemindahan bilangan atau perhitungan aritmetika. Berikut ini contoh instruksi
bahasa mesin yang memindahkan angka 7 ke dalam register AL
Bahasa Mesin: 10110000 00000111
Bahasa Assembly: MOV AL, 5
AL = 5
2
Delapan bit pertama sebagai kode operasi (opcode) yang menunjukkan instruksi
pemindahan angka ke register AL. Delapan bit kedua sebagai operand, yang memiliki
nilai desimal 7.
Register adalah memori berkecepatan tinggi yang berada di dalam CPU. Register
diidentifikasi oleh nama 2 buah huruf, seperti AH, AL, atau AX. Set instruksi CPU memiliki
sifat downward – compatible sehingga instruksi yang bekerja pada mikroprosesor level
rendah maka akan bekerja juga pada mikroprosesor dengan level lebih tinggi. Contoh
instruksi yang bekerja pada intel 8086 akan juga bekerja dengan baik pada intel 80286.
Namun hal ini tidak berlaku sebaliknya, set instruksi yang bekerja pada
mikroprosesor level tinggi intel 80286 tidak akan bekerja dengan baik pada
mikroprosesor level rendah intel 8086.
Bahasa assembly terdiri atas sebuah rangkaian assembly statement
dimana statement ditulis satu per baris.
Medan (field) : label, opcode,operand dan komentar.
3
4
B. INSTRUKSI MODE
Addressing mode(mode pengelamatan) merupakan salah satu cara untuk
menggunakan dan memakai alamat memori pada suatu mikroprosesor, dimana
ketika kita akan menggunakan atau memakai memori ini menggunakan syntax
operand : opcode.
Opcode : Operand
Perlu diingat juga bahwa operand ini terdiri dari dua komponen :
Contoh :
6
MOV AL, BL
MOV BX, DX
MOV AL, BH
MOV AL,BX
4. Register Indirect :
Mode pengalamatan pada register SI, BX, DI
contoh:
ada empat bentuk mode pengalamatan yang mempunyai instruksi seperti dibawah ini :
MOV AL,[bx]
MOV AL,[bp]
MOV AL,[si]
MOV AL,[di]
contoh diatas adalah salah satu contoh bagaimana cara memindahkan data dalam bentuk
array ke register.
data array diatas bisa saja seperti statement seperti : MOV BX, Offset ARRAY:
7
MOV SI , offset X
MOV DI , offset Y
MOV AL, [SI]
MOV [DI] , AL
effective address(EA) = isi dari [ (BX) atau (BP), atau (SI), atau (DI)] + 8 bit sign extende / 16
bit displacement.untuk lebih detilnya bisa lihat contoh dibawah ini
contoh :
MOV AL,[BX][SI]
MOV AL, [BP][SI]
MOV AX, [SI+DI]
9
7. Relative based indexed Addressing Mode :
Didalam suatu alamat memory terjadi perhitungan yang berisi base register, index register
dan 8/16 bit displacement
Contoh
yaitu jenis pengalamatan di dalam segment yang sama atau pengalamatan di dalam segmen
yang berbeda.berdasarkan jenis mode pengalamatan ini dibagi menjadi dua kategori yaitu
intrasegment dan intersegment dengan pengalamatan langsung maupun pengalamatan
tidak langsung.
10
9. Intrasegment Direct Addressing Mode:
alamat yang aktif ( EA) adalah penjumlahan dari IP dan 8/16 bit displacement.pengalamatan
ini bisa digunakan ketika kita menggunakan short jump atau kondisi bersyarat.
11
11. Intersegment indirect addressing mode
mode pengalamatan ini merubah isi dari CS dan IP dengan alamat yang diberikan oleh
register atau memori.
12
C. PENGALAMATAN DATA
Mode pengalamatan mengacu pada berbagai metode pengalamatan
operan.
Mode pengalamatan 8086 adalah sebagai berikut:
1. Mode pengalamatan langsung-
Dalam mode ini, operan ditentukan dalam instruksi itu sendiri. Instruksinya
lebih panjang tetapi operannya mudah diidentifikasi.
Contoh:
MOV CL, 12 jam
Instruksi ini segera memindahkan 12 ke register CL. CL ← 12 jam
2. Daftarkan mode pengalamatan
Dalam mode ini, operan ditentukan menggunakan register. Mode
pengalamatan ini biasanya lebih disukai karena instruksinya ringkas dan paling cepat
mengeksekusi semua bentuk instruksi.
Register dapat digunakan sebagai operan sumber, operan tujuan, atau keduanya.
Contoh:
MOV KAPAK, BX
Instruksi ini menyalin isi register BX ke register AX. KAPAK ← BX
3. Mode pengalamatan memori langsung
Dalam mode ini, alamat operan ditentukan secara langsung dalam
instruksi. Di sini hanya alamat offset yang ditentukan, segmennya ditunjukkan oleh
instruksi.
Contoh:
MOV CL, [4321H]
Instruksi ini memindahkan data dari lokasi 4321H di segmen data ke CL.
Alamat fisik dihitung sebagai
DS*10J+4321
Asumsikan DS = 5000 jam
∴PA = 50.000 + 4321 = 54321H
∴CL ← [54321H]
4. Mode pengalamatan tidak langsung berbasis register
13
Dalam mode ini, alamat efektif memori dapat diambil langsung dari salah
satu register dasar atau register indeks yang ditentukan oleh instruksi. Jika register
adalah SI, DI dan BX maka DS secara default adalah register segmen.
Jika BP digunakan, maka SS secara default adalah register segmen.
Contoh:
MOV CX, [BX]
Instruksi ini memindahkan sebuah kata dari alamat yang ditunjuk oleh BX dan BX + 1
di segmen data masing-masing ke CL dan CH.
CL ← DS: [BX] dan CH ← DS: [BX + 1]
Alamat fisik dapat dihitung sebagai DS * 10H + BX.
5. Daftarkan mode pengalamatan relatif
Dalam mode ini, alamat operan dihitung menggunakan salah satu register
dasar dan perpindahan 8 bit atau 16 bit.
Contoh:
MOV CL, [BX + 04H]
Instruksi ini memindahkan satu byte dari alamat yang ditunjuk oleh BX + 4 di segmen
data ke CL.
CL ← DS: [BX+04H]
Alamat fisik dapat dihitung sebagai DS * 10H + BX + 4H.
6. Mode pengalamatan terindeks dasar
Di sini, alamat operan dihitung sebagai register dasar ditambah register
indeks.
Contoh:
MOV CL, [BX + SI]
Instruksi ini memindahkan satu byte dari alamat yang ditunjuk oleh BX + SI di
segmen data ke CL.
CL ← DS: [BX+SI]
Alamat fisik dapat dihitung sebagai DS * 10H + BX + SI.
Mode pengalamatan terindeks berbasis relatif-
Dalam mode ini, alamat operan dihitung sebagai jumlah register dasar,
register indeks, dan perpindahan 8 bit atau 16 bit.
Contoh:
MOV CL, [BX + DI + 20]
14
Instruksi ini memindahkan satu byte dari alamat yang ditunjuk oleh BX + DI + 20H di
segmen data ke CL.
CL ← DS: [BX + DI + 20 jam]
Alamat fisik dapat dihitung sebagai DS * 10H + BX + DI + 20H.
7. Mode pengalamatan tersirat
Dalam mode ini, operan tersirat dan karenanya tidak ditentukan dalam
instruksi.
Contoh:
STC
Ini menetapkan bendera carry.
15
PPI (Programmable periperal interface) 8255 itu sendiri adalah chip yang dirancang
khusus untuk keperluan antarmuka (interface) pada sistem komputer yang menggunakan
mikroprosesor intel. Istilah antarmuka di sini mengandung arti jembatan atau penghubung.
Menghubungkan sebuah mikroprosesor dengan sebuah piranti luar (periperal) misalnya
dengan keyboard, mouse, layar monitor, printer, dan lain-lain.PPI 8255 hanyalah satu jenis
yang dapat diprogram untuk beberapa keperluan tertentu.Chip PPI 8255 memiliki 40 buah
pin, yang konfigurasi pin-pinnya diperlihatkan pada gambar diatas. PPI 8255 (perhatikan
gambar 2.12 ) memiliki 3 buah port (port A,B dan C) dan sebuah bus data 8-bit. Bus data
adalah penghubung antara mikroprosesor dengan PPI 8255, sedangkan port A,B dan C
adalah penghubung antara PPI 8255 dengan rangkaian kendali/piranti luar
Karena bus data pada PPI 8255 hanya satu buah sedangkan port PPI ada 3 buah, bus data
tidak dapat terhubung dengan ketiga port pada waktu yang bersamaan. Oleh karenanya,
untuk menghubungkan bus data dengan salah satu port dapat dilakukan dengan
memberikan kombinasi data tertentu pada pin A0 dan A1 sebagai berikut.
Keterangan PPI-8255
16
Gambar: Format Control Word IC PPI 8255
PPI-8255 mempunyai 24 pin I/O yang terdiri dari 3 port, yaitu:
– Port A (8 pin) disebut atau ditandai PA0-PA7
– Port B (8 pin) disebut atau ditandai PB0-PB7
– Port C (8 pin) disebut atau ditandai PC0-PC7
Ketiga port ini dapat berfungsi sebagai port keluaran (untuk mengeluarkan data)dan sebagai
port masukan (untuk menerima data). Ketiga port tersebut dikelompokkan dalam 2 group A
dan B dimana:
– Group A
Port A (PA0-PA7) dan Port C Upper (PC0-PC4)
– Group B
Port B (PB0-PB7) dan Port C lower (PC5-PC7)
Untuk mengatur (mendefinisikan) fungsi masing-masing port dapat dilakukan dengan
memberikan kata kendali (control word) berupa 8 angka biner pada pin D0,D1,.. D7 (bus
data). Selain itu untuk mendefinisikan fungsi ketiga port, kendali port ini juga berfungsi
untuk mendefinisikan mode, bit set, bit reset, dan lain-lain. Untuk lebih jelasnya, dapat kita
lihat pada gambar 2.14 ini adalah format data kendali beserta maksudnya
PPI-8255 dapat dioperasikan dalam 3 mode:
Mode 0 : Port A, Port B, dan Port C bekerja sebagai port I/O sederhana,yaitu tanpa
hubungan dengan perangkat keras
Mode 1 : Port A dan Port B bekerja sebagai port I/O yang dilengkapi dengan hubungan
otomatis, yaitu dengan menggunakan sebagian dari pin – pin untuk port C.
Mode 2 : Port A, dapat dibuat bekerja sebagai port I/O dua arah, sekaligus untuk menerima
masukan dan mengeluarkan data, dilengkapi dengan hubungan.
17
Dari ketiga mode yang tersedia tersebut, yang akan kita gunakan adalah mode 0, mode yang
paling sederhana untuk keperluan antarmuka.
Peta alamat I/O
Dalam menentukan alamat I/O maka harus dipilih alamat Yang kosong (reserved) sehingga
tidak mengganggu device yang lain yang telah ada sebelumnya. Untuk itu maka dipilih
alamat 03E0H – 03E3H untuk keperluan PPI-8255.
Tabel Alamat Port I/O
Pada gambar diatas adalah gambar skematik dari sebuah rangkaian kartu ekaspansi PPI yang
menggunakan PPI 8255, disini kartu PPI dirancang sedemikian rupa sehingga dapat
ditancapkan pada slot ekspansi komputer
18
Gambar . Rangkaian skematik kartu PPI 8255
Pada rancangan kartu PPI 8255 yang diperlihatkan pada gambar diatas digunakan sebuah
saklar 8-bit yang kombinasinya dapat di set sedemikian rupa untuk menjaga agar daerah
kerja kartu berada pada alamat 0300H-031FH. Kedelapan saklar tersebut dihubungkan
dengan A2-A9 pada slot ekspansi. Pada rangkaian ini, digunakan pula sebuah komparator
74LS688, yang akan selalu membandingkan alamat dari CPU dengan alamat daerah kerja
19
kartu PPI. Bila hasil perbandingan oleh komparator sama, akan dikirimkan sebuh sinyal yang
mengaktifkan CS (mengaktifkan CS berarti mengaktifkan PPI 8255).
Karena daerah kerja kartu berada pada alamat 0300H-031FH, dari 20-bit alamat yang dimiliki
oleh slot ekspansi, hanya 10-bit alamat yang digunakan. Pada tabel dibawah terdapat alamat
yang digunakan untuk kartu PPI tersebut.
Tabel .Alamat kartu PPI
Dari tabel diatas, bila kita akan memilih daerah kerja kartu PPI, kita dapat melakukannya
dengan mengubah bit-bit pada A2,A3 dan A4.
E. ALGORITMA
Dalam matematika dan ilmu
komputer, algoritme (serapan dari Belanda: algoritme) adalah rangkaian terbatas
dari instruksi-instruksi yang rumit, yang biasanya digunakan untuk menyelesaikan
atau menjalankan suatu kelompok masalah komputasi tertentu. Algoritma
digunakan sebagai spesifikasi untuk melakukan perhitungan dan pemrosesan data.
Algoritma yang lebih mutakhir dapat melakukan deduksi otomatis (disebut sebagai
penalaran otomatis) dan menggunakan tes matematis dan logis untuk mengarahkan
eksekusi kode melalui berbagai rute (disebut sebagai pengambilan keputusan
otomatis). Penggunaan karakteristik manusia sebagai deskriptor mesin secara
metaforis telah dipraktekkan oleh Alan Turing dengan terminologi seperti
"memory", "search" dan "stimulus".
Jenis-jenis Algoritma
1. Algoritma Rekursif
Algoritma rekursif adalah jenis algoritma yang akan melakukan perulangan sendiri hingga
masalahnya terpecahkan. Selain itu, algoritma akan memanggil dirinya sendiri berulang kali
hingga masalahnya terpecahkan.
20
Algoritma Divide and Conquer merupakan salah satu jenis algoritma yang membagi suatu
masalah menjadi beberapa bagian. Langkah-langkah algoritma membagi dan menaklukkan
antara lain membagi masalah menjadi bagian-bagian yang sama dan kemudian mencari
solusi utama setelah diperoleh solusi untuk sub-bagiannya.
4. Algoritma Greedy
Algoritma brute force ini merupakan jenis algoritma dengan konsep yang paling sederhana.
Algoritma ini menggunakan iterasi dari setiap solusi yang ditemukan untuk menemukan
solusi yang paling sesuai dengan permasalahan yang ada.
21
BAB III
PENUTUP
KESIMPULAN
22