Konsep
Mikroprogramming
Microprogramming
adalah cara pengoperasian bagian kontrol komputer yang menguraikan setiap
instruksi menjadi beberapa tahap kecil (microstep) yang merupakan bagian
mikroprogram. Sejumlah sistem menyediakan mikroprogram, sehingga pemakai dapat
menyesuaikan perintah dengan mesinnya.
1. Struktur Register Mikroprosessor
Register
merupakan sebagian memori dari mokroprosesor yang dapat diakses dengan
kecepatan yang sangat tinggi.Sebuah register adalah sebuah tempat penampungan
semantara untuk data-data yang akan diolah oleh prosesor, dan dibentuk oleh 16
titik elektronis didalam chip mikroprosesor itu sendiri.dengan adanya
penampungan data sementara ini,proses pengolahan akan bisa dilakukan secara
cepat di bandingkan apabila data-data tersebut harus diambil langsung dari
lokasi-lokasi memori. Register adalah sebagian kecil memory komputer yang
dipakai untuk tempat penampungan data.Data yang terdapat dalam register dapat
diproses dalam berbagai operasi dengan melihat berapa besar kemampuan register
tersebut (8 atau 16 bit).
1.1
Code
Segment
Code segmen berfungsi untuk mencatat
segmen dari kode program/ instruksi atau digunakan untuk menunjukkan tempat
dari segmen yang sedang aktif. Register CS berpasangan dengan register IP
(Instruction Pointer) dalam format CS:IP.
Pada intiya Code segment ini digunakan untuk menunjukkan tempat dari
segmen yang sedang aktif.
1.2
Data
Segment
Data segmen biasanya digunakan untuk
menunjukkan tempat segmen dimana data-data disimpan atau Menyimpan alamat dari
segment dimana data terletak.
Stack segmen adalah berfungsi untuk
menyimpan alamat dari segmen dimana data terletak atau Menyimpan alamat
segment memori yang dipergunakan sebagai stack.
1.4
Extra
Segment
Extra segment register merupakan
register segment tambahan yang digunakan pada operasi-operasi string. Stack
Segment Register Berpasangan dengan register SP, stack segment register
berfungsi untuk menunjukkan alamat stack memory pada operasi PUSH dan POP dan
berfungsi untuk menyimpan alamat instruksi berikutnya ketika memanggil suatu
prosedur (CALL) dan mengarahkan kembali ke program utama (RET) SEGMENT
REGISTER.
Pada initinya Extra segmen sesuai
dengan namanya adalah suatu register bonus yang tidak yang menpunyai suatu
tugas khusus, yang berfungsi untuk menyimpan alamat tambahan: misalnya alamat
display, alamat sistem operasi, dan sebagainya.
1.5
Flag
Register
Merupakan register berukuran 1 bit
yang menunjukkan kondisi dari suatu keadaan (ya/tidak atau 0/1)
2. Mode
Pengalamatan (Addressing Mode)
Mode
pengalamatan adalah bagaimana cara menunjuk dan mengalamati suatu lokasi
memori pada sebuah alamat di mana operand akan diambil. Mode pengalamatan
diterapkan pada set instruksi, dimana pada umumnya instruksi terdiri dari
opcode (kode operasi) dan alamat. Setiap mode pengalamatan memberikan
fleksibilitas khusus yang sangat penting. Mode pengalamatan ini meliputi direct
addressing, indirect addressing, dan immediate addressing.
2.1 Mode Data-Addressing
Mode Data
Addresing merupakan aspek dari set instruksi arsitektur di sebagian besar
central processing unit (CPU) desain. Berbagai mode pengalamatan addressing yang
didefinisikan dalam arsitektur set instruksi yang diberikan menentukan
bagaimana bahasa mesin instruksi dalam arsitektur yang mengidentifikasi operan
(s) dari setiap instruksi. Sebuah mode pengalamatan menentukan bagaimana
menghitung efektif alamat memori dari operan dengan menggunakan informasi yang
diadakan di register dan / atau konstanta yang terkandung dalam instruksi mesin
atau di tempat lain.
2.1.1
Register
Addressing
Register addressing atau yang biasa disebut dengan Pengalamatan Register
merupakan sebuah metode
pengalamatan register mirip dengan mode pengalamatan langsung, dimana perbedaanya
terletak pada field alamat yang mengacu pada register, bukan pada memori utama,
Dimana Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga
dapat mereferensi 8 atau 16 register general purpose
Ada beberapa
sebuah keuntungan yaitu pada diperlukan field alamat berukuran kecil dalam
instruksi dan tidak diperlukan referensi memori dan pada akses ke register
lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat
dan adapun kerugiannya merupakan pada ruang alamat menjadi terbatas
2.1.2 Immediate
Addressing
Immediate Addressing atau yang biasa disebut dengan Pengalamatan Segera Adalah bentuk pengalamatan yang
paling sederhana.
Dimana Immediate
Addressing ini merupakan sebuah operand benar-benar ada dalam instruksi atau
bagian dari intsruksi, operand sama dengan field alamat, pada umumnya bilangan
akan disimpan dalam bentuk complement dua, pada Bit paling kiri sebagai bit
tanda, pada ketika operand dimuatkan ke dalam register data, bit tanda digeser
ke kiri hingga maksimum word data
Immediate addressing
ini mempunyai keuntungan yaitu tidak adanya referensi memori selain dari
instruksi yang diperlukan untuk memperoleh operand dan m enghemat siklus
instruksi sehingga proses keseluruhanakan akan cepat , adapun kekurangannya
adalah pada kuran bilangan dibatasi oleh
ukuran field.
2.1.3
Register
Indirect Addressing
Register indirect addressing atau yang biasa kita
sebut dengan sebutan Pengalamatan tak-langsung register merupakan sebuah metode pengalamatan register
tidak langsung mirip dengan mode pengalamatan tidak langsung, perbedaannya
adalah field alamat mengacu pada alamat register, dimana pada letak operand
berada pada memori yang dituju oleh isi register. Dimana keuntungan dan
keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan
pengalamatan tidak langsung, hanya saja keterbatasan field alamat diatasi
dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat
direferensi akan semakin banyak.Dalam satu siklus pengambilan dan penyimpanan,
mode pengalamatan register tidak langsung hanya menggunakan satu referensi
memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung.
2.1.4
Base Plus
Indeks Addressing
Merupakan sebuah metode pengalamatan
untuk mentransfer byte/word antara register dan memori yang dimana alamatnya
akan ditunjukan oleh jumalah register base dan index.
2.1.5
Relatif
Register Addressing
Merupakan
sebuah mode pengalamatan untuk
transfer byte/wprd antara register dan
memori yang alamatnya ditunjukan oleh isi suatu register dan
jaraknya/displacement.
2.1.6
Relatif
Plus Indeks Addressing
Merupakan
sebuah mode pengalamatan untuk mentransfer byte/word antara register dan memori
yang alamatnya ditunjukan oleh suatu
register dan index ditambah displacement tersebut.
2.2 Mode Memori- Addressing
Mode
Memori – Addressing merupaka sebuah mode bagaimana cara menunjuk dan
mengalamati suatu lokasi memori pada sebuah alamat di mana operand akan
diambil. Mode pengalamatan diterapkan pada set instruksi, dimana pada umumnya
instruksi terdiri dari opcode dan alamat. Setiap mode pengalamatan memberikan
fleksibilitas khusus yang sangat penting. Mode pengalamatan ini meliputi direct
addressing, indirect addressing, dan immediate addressing
2.2.1 Addressing Langsung
Mode data
addressing Langsung ini relative sederhana, dikarenakan disimpan secara
langsung setelah opcode decimal dalam memori tersebut, dimana addressing
langsung ini akan mentransfer byte atau kata secara langsung dari suatu
intruksi program kedalam register atau lokasi memori.
Dimana pada teknik ini banyak digunakan pada
komputer lama dan komputer kecildan Hanya memerlukan sebuah referensi memori
dan tidak memerlukan kalkulus khusus, teknik ini mempunyai kelebihan Field
alamat berisi efektif address sebuah operand dan kekurangan keterbatasan field
alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang
word.
Contoh : ADD A ; tambahkan isi pada lokasi
alamat A ke akumulator
2.2.2
Addressing
Tidak Langsung
Addressing tidak Langsung ini merupakan
mode pengalamatan tak langsung, yang dimana field alamat mengacu pada alamat
word di alamat memori, yang pada gilirannya akan berisi alamat operand yang
panjang
melebihan ruang bagi alamat menjadi besar
sehingga semakin banyak alamat yang dapat referensi dan kekurangan diperlukan
referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi
Contoh :
ADD (A) ;
tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator
2.2.3
Addressing
Relatif
Addressing Relatif ini merupakan sebuah register yang direferensi
secara implisit adalah program counter (PC), dimana pada alamat efektif relative addresing didapatkan dari alamat instruksi saat itu
ditambahkan ke field alamat dan pada relativ addressing memanfaatkan konsep lokalitas memori untuk
menyediakan operand-operand berikutnya .
3. Instruksi
Pemindahan Data
3.1 MOV
Perintah MOV adalah perintah untuk
mengisi, memindahkan,memperbaruhi isi suatu register, variable ataupun lokasi
memory,
3.2 PUSH
Adalah perintah untuk memasukan isi
register pada stack, dengan tata penulisannya:POP [operand 16 bit]
3.3 POP
perintah yang berguna untuk
mengeluarkan isi dari register/variable dari stack,dengan tata penulisannya
adalah : POP [operand 16 bit]
3.4 XXCHG
adalah instuksi yang digunakan untuk
menukar data antara dua register tujuan umum atau antara tujuan umum register
dan tempat penyimpanan memori.
3.5 XLAT
adalah instruksi yang digunakan untuk
menyederhanakan pelaksanaan dari operasi pencarian tabel. Eksekusi dari XLAT
menggantikan isi dari register AL dengan isi yang diakses oleh tempat pencarian
tabel.
3.6 IN
Untuk memindahkan
data dari pernagkat I/O tertentu ke tujuan, dimana membaca data dari suatu port
dan memasukkan nilainya ke dalam suatu register gunakan perintah IN.
3.7 OUT
Untuk memindahkan
data dari sumber tertentu ke perangkat I/O, perintah OUT digunakan untuk memasukkan suatu
nilai ke dalam suatu port
3.8 LEA
Intruksi yang menyediakan kemampuan untuk
manipulasi alamat memori dengan memuat setidaknya 16-bit yang mengimbangi
alamat dalam tujuan umum register atau sebuah register.
3.9 LDS
Intruksi yang menyediakan kemampuan untuk
manipulasi alamat memori dengan memuat setidaknya 16-bit yang mengimbangi
alamat dalam tujuan umum register atau sebuah register.
3.10 LES
Intruksi yang menyediakan kemampuan untuk
manipulasi alamat memori dengan memuat setidaknya 16-bit yang mengimbangi
alamat dalam tujuan umum register atau sebuah register.
3.11 LAHF
Intruksi
yang menyediakan kemampuan untuk memindah
bendera kedalam AH
3.12 SAHF
Intruksi
yang menyediakan kemampuan untuk memuat
bendera dari AH
3.13 LODS
Intruksi
yang menyediakan kemampuan untuk memuat
AL ayau AX dalam byte atau word
3.14 STOS
Intruksi
yang menyediakan kemampuan untuk menyimpan
AL ayau AX dalam byte atau word
3.15 MOVS
Intruksi yang menyediakan
kemampuan untuk Memindahkan byte/word
Sumber :
http://apaitu.web.id/microprogramming/
http://whiteregion.blogspot.co.id/2015/05/struktur-alu-register-dan-cpu.html
http://slideplayer.info/slide/3652250/
http://www.docfoc.com/download/documents/struktur-register-set-mikroprosesor
http://jejaringberbagi.blogspot.co.id/2015/01/mode-pengalamatan.html
https://ubay16.wordpress.com/2013/10/30/metode-pengalamatan/
http://setiawantkj.blogspot.co.id/2013/05/penjelasan-jenis-pengalamatan.html
http://zilan7green.blogspot.co.id/2013/02/makalah-arsitektur-komputer-mode.html
https://blog.uad.ac.id/kholis1600018244/instruksi-set-80888086-dan-data-transfer/
http://tid3ustj.blogspot.co.id/2012/10/daftar-instruksi-bahasa-assembly.html
http://creativestayle.blogspot.co.id/2013/12/instruksi-instruksi-dalam-mikroprosesor.html
https://ekofitriyanto.wordpress.com/2013/10/30/177/
http://jovanangga.blogspot.co.id/2012/11/set-instruksi-dan-teknik-pengalamatan.html
http://dani-jazmi.blogspot.co.id/2011/04/set-instruksi-mikroprosessor-8085.html