A.
Karakterisktik
Set Intruksi
A.1
Element-element
Instruksi
Agar
dapat dieksekusi, setiap instruksi harus berisi informasi yang diperlukan oleh
CPU. Informasi itu dituangkan dalam elcmen-elemen instruksi:
1.
Operation
Code/Kode Operasi: menspesifikasikan operasi yang
akan dilakukan (misalnya, ADD). Operasi dispesifikasikan oleh kode biner,
yang dikenal sebagai kode operasi, atau opcode.
2.
Source
Operand Reference/Referensi Operand Sumber:
operasi dapat mencakup satu atau lebih sumber, operand merupakan input bagi
operasi.
3.
Result
Operand Reference/Reference Operand Hasil:
operasi dapat membuat hasil operasi.
4.
Next
Instruction Reference/Reference Operand Selanjutnya:
elemen ini memberitahu CPU posisi instruksi berikutnya yang harus diambil
setelah menyelesaikan eksekusi suatu instruksi.
Sumber
dan hasil operand dapat berada di salah satu dari ketiga daerah di bawah ini:
1.
Memori
utama atau memori virtual: dengan referensi
alamat berikutnya, maka alamat memori utama atau virtual harus diketahui.
2.
CPU:
instruksi harus diberi nomor register yang dimaksud.
3.
Perangkal
I/O: instruksi harus menspesifikasikan
modul I/O yang diperlukan oleh operasi.
A.2
Jenis-jenis
Instruksi
1.
Data
Processing/Pengolahan Data: instruksi-instruksi
aritmetika dan logika.
2.
Data
Movement/Perpindahan Data: instruksi I/O.
3.
Data
Storage/Penyimpanan Data: instruksi-instruksi
memori.
4.
Flow
Control/Kontrol: instruksi pemeriksaan dan
percabangan.
A.2.1
Pengolahan
data (data processing)
Meliputi
operasi-operasi aritmatika dan logika. Operasi aritmatika memiliki kemampuan
komputasi untuk pengolahan data numerik. Sedangkan instruksi logika beroperasi
terhadap bit-bit word sebagai bit, bukannya sebagai bilangan, sehingga
instruksi ini memiliki kemampuan untuk pengolahan data lain.
A.2.2
Perpindahan
data (data movement)
Berisi instruksi perpindahan data antar register maupun
modul I/O. untuk dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang
bertugas memindahkan data operand yang diperlukan.
A.2.3
Penyimpanan
data (data storage)
Berisi instruksi-instruksi penyimpanan ke memori. Instruksi
penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan
digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus
diadakan penyimpanan walaupun sementara.
A.2.4
Kontrol
aliran program (program flow control)
Berisi instruksi pengontrolan operasi dan percabangan.
Instruksi ini berfungsi untuk pengontrolan status dan mengoperasikan
percabangan ke set instruksi lain.
A.3
TIPE-TIPE
OPERAND
A.3.1
Addresses
Jenis Pengalamatan (Addressing Mode): Merupakan cara
memberikan perintah transfer/pemindahan data dari lokasi satu ke lokasi
lainnya.
Jenis
Mode Pengalamatan :
1.
Mode
pengalamatan segera:
Yaitu mode pengalamatan yang
digunakan untuk mengisi suatu register dengan data.
ü Register
yang dapat diisi data dengan mode pengalamatan segera adalah : AX, BX, CX, DX,
AL, AH, BL, BH, CL, CH, DL, DH, BP, SP, SI, DI
ü Register
segmen tidak dapat diisi dengan mode pengalamatan segera.
ü Alamat
memori juga tidak dapat diisi secara immediate.
2.
Mode
pengalamatan register :
Yaitu mode pengalamatan yang digunakan untuk mentransfer
data (byte/word) dari register sumber ke register tujuan.
ü MOV
CS, DS ⇒
tidak diijinkan karena segment to segment
ü MOV
BL, BX ⇒
Tidak dijinkan karena berbeda ukuran (mixed size)
Contoh :
Susun
perintah untuk mengisi register segmen DS dengan data 1234 heksadesimal!
Jawab:
MOV
AX, 1234 immediate addressing
MOV
DS, AX register addressing
3.
Mode
pengalamatan langsung
Yaitu mode pengalamatan untuk mentransfer data antar memori
dan register
Contoh
bentuk 1 :
Susun
instruksi assembly untuk memindahkan isi alamat 10120 heksadesimal ke register
AL, isi alamat 10150 heksadesimal ke register BL, dan isi alamat 10160
heksadesimal ke register CL! Anggap segment base 1000 tersimpan pada register
DS!
Jawab:
MOV
AX, 1000 immediate addressing
MOV
DS, AX register addressing
MOV
AL, [0120] direct addressing
MOV
BL, [0150] direct addressing
MOV
CL, [0160] direct addressing
Contoh
bentuk 2 :
Susun
instruksi untuk mengisi alamat 10120 dengan data 5 heksadesimal! Anggap segment
base yang digunakan adalah 1000 tersimpan dalam DS!
Jawab:
MOV
AX,1000 immediate addressing
MOV
DS, AX register addressing
MOV
AL, 5 immediate addressing
MOV
[0120], AL direct addressing
4.
Mode
pengalamatan tak langsung
Merupakan mode pengalamatan untuk mentransfer DATA/byte/word
antar register dan lokasi yang alamatnya ditunjukkan oleh isi suatu register.
5.
Base
plus index addressing
Yaitu mode pengalamatan yang digunakan untuk mentransfer
byte/word antar register dan memori yang alamatnya ditunjukkan oleh jumlah
register base dan index.
Bentuk
1 : MOV [BX + SI], AX
Bentuk
2 : MOV AX, [BX+SI]
6.
Register
relative addressing
Yaitu mode pengalamatan untuk tranfer byte/word antar
register dan memori yang alamatnya ditunjukkan oleh isi suatu register dan
jaraknya (displacement).
Bentuk
: MOV [BX + 4], AX
7.
Base
relative plus index addressing
Merupakan mode pengalamatan yang digunakan untuk mentransfer
byte/word antar register dan memori yang alamatnya ditunjukkan oleh suatu
register base dan register index ditambah displacementnya
Bentuk
: MOV AX, [BX + DI + 4]
A.3.2
Numbers
1.
Integer
or fixed point : sebuah integer yang skala
dengan faktor tertentu. Penting untuk dicatat bahwa faktor skala ditentukan
oleh jenis, itu adalah sama untuk semua nilai dari jenis fixed-titik tertentu.
2.
Floating
point :
sebuah bilangan yang digunakan untuk menggambarkan sebuah nilai yang sangat
besar atau sangat kecil
3.
Decimal
(BCD) :
sistem pengkodean bilangan desimal yang metodenya mirip dengan bilangan biner
biasa; hanya saja dalam proses konversi, setiap simbol dari bilangan desimal
dikonversi satu per satu, bukan secara keseluruhan seperti konversi bilangan
desimal ke biner biasa.)
A.3.3
Characters
1.
ASCII
(American Standard Code for Information Interchange)
: suatu standar internasional dalam kode huruf dan simbol seperti Hex dan
Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk
karakter "|". Ia selalu digunakan oleh komputer dan alat komunikasi
lain untuk menunjukkan teks.
2.
EBCDIC
(Extended Binary Coded Decimal Interchange Code) : kode 8 bit untuk huruf yang dipakai pada
sistem operasi komputer merk IBM, seperti z/OS, OS/390, VM, VSE, OS/400, serta
i5/OS
A.3.4
Logical
Data
Bila
data berbentuk binary: 0 dan 1
A.4
TIPE-TIPE
OPERASI
A.4.1
TRANSFER
DATA
a) Menetapkan
lokasi operand sumber dan operand tujuan.
Lokasi-lokasi
tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
b) Menetapkan
panjang data yang dipindahkan.
c) Menetapkan
mode pengalamatan.
Tindakan
CPU untuk melakukan transfer data adalah :
1. Memindahkan
data dari satu lokasi ke lokasi lain.
2. Apabila
memori dilibatkan :
ü Menetapkan
alamat memori.
ü Menjalankan
transformasi alamat memori virtual ke alamat memori aktual.
ü Mengawali
pembacaan / penulisan memori
3. Operasi
set instruksi untuk transfer data :
ü MOVE
: memindahkan word atau blok dari sumber ke tujuan
ü STORE
: memindahkan word dari prosesor ke memori.
ü LOAD
: memindahkan word dari memori ke prosesor.
ü EXCHANGE
: menukar isi sumber ke tujuan.
ü CLEAR
/ RESET : memindahkan word 0 ke tujuan.
ü SET
: memindahkan word 1 ke tujuan.
ü PUSH
: memindahkan word dari sumber ke bagian paling atas stack.
ü POP
: memindahkan word dari bagian paling atas sumber
A.4.2
ARITHMETIC
Tindakan
CPU untuk melakukan operasi arithmetic :
1. Transfer
data sebelum atau sesudah.
2. Melakukan
fungsi dalam ALU.
3. Menset
kode-kode kondisi dan flag.
Operasi set instruksi untuk arithmetic :
1. ADD
: penjumlahan 5.
ABSOLUTE
2. SUBTRACT
: pengurangan 6.
NEGATIVE
3. MULTIPLY
: perkalian 7. DECREMENT
4. DIVIDE
: pembagian 8.
INCREMENT
Nomor 5 sampai 8 merupakan instruksi operand tunggal.
Tindakan CPU sama dengan arithmetic
A.4.3
LOGICAL
Operasi set instruksi untuk operasi logical :
1. AND,
OR, NOT, EXOR
2. COMPARE :
melakukan perbandingan logika.
3. TEST : menguji kondisi tertentu.
4. SHIFT : operand menggeser ke kiri atau
kanan menyebabkan konstanta pada ujung bit.
5. ROTATE : operand menggeser ke kiri atau ke
kanan dengan ujung yang terjalin.
A.4.4
CONVERSI
Tindakan
CPU sama dengan arithmetic dan logical.
Instruksi
yang mengubah format instruksi yang beroperasi terhadap format data. Misalnya
pengubahan bilangan desimal menjadi bilangan biner.
Operasi
set instruksi untuk conversi :
1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu
bagian memori berdasarkan tabel
korespodensi.
2. CONVERT : mengkonversi isi suatu word dari suatu
bentuk ke bentuk lainnya.
A.4.5
INPUT
/ OUTPUT
Tindakan
CPU untuk melakukan INPUT /OUTPUT :
1. Apabila memory mapped I/O maka menentukan alamat
memory mapped.
2. Mengawali
perintah ke modul I/O
Operasi set instruksi Input / Ouput :
1.INPUT : memindahkan data dari pernagkat
I/O tertentu ke tujuan
2.OUTPUT : memindahkan data dari sumber
tertentu ke perangkat I/O
3.START
I/O : memindahkan instruksi ke
prosesor I/O untuk mengawali operasi I/O
4.TEST
I/O : memindahkan informasi dari
sistem I/O ke tujuan
A.4.6
TRANFER
CONTROL
Tindakan
CPU untuk transfer control :
Mengupdate
program counter untuk subrutin , call / return.
Operasi
set instruksi untuk transfer control :
a.
JUMP
(cabang) : pemindahan tidak bersyarat dan
memuat PC dengan alamat tertentu.
b.
JUMP
BERSYARAT :
menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak
melakukan apa tergantung dari persyaratan.
c.
JUMP
SUBRUTIN :
melompat ke alamat tertentu.
d.
RETURN :
mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
e.
EXECUTE :
mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruk
f.
SKIP
: menambah PC
sehingga melompati instruksi berikutnya.
g.
SKIP
BERSYARAT : melompat atau tidak melakukan
apa-apa berdasarkan pada persyaratan
h.
HALT
:
menghentikan eksekusi program.
i.
WAIT
(HOLD) : melanjutkan eksekusi pada saat
persyaratan dipenuhi.
j.
NO
OPERATION :
tidak ada operasi yang dilakukan
A.4.7
CONTROL
SYSTEM
Hanya dapat dieksekusi ketika prosesor berada dalam keadaan
khusus tertentu atau sedang mengeksekusi suatu program yang berada dalam area
khusus, biasanya digunakan dalam sistem operasi.Contoh : membaca atau mengubah
register kontrol.
Tindakan
CPU untuk transfer control :
Mengupdate
program counter untuk subrutin , call / return.
Operasi
set instruksi untuk transfer control :
1.
JUMP
(cabang) : pemindahan tidak bersyarat dan
memuat PC dengan alamat tertentu.
2.
JUMP
BERSYARAT :
menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak
melakukan apa tergantung dari persyaratan.
3.
JUMP
SUBRUTIN :
melompat ke alamat tertentu.
4.
RETURN :
mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
5.
EXECUTE :
mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruk
6.
SKIP
: menambah PC
sehingga melompati instruksi berikutnya.
7.
SKIP
BERSYARAT : melompat atau tidak melakukan
apa-apa berdasarkan pada persyaratan
8.
HALT
:
menghentikan eksekusi program.
9.
WAIT
(HOLD) : melanjutkan eksekusi pada saat
persyaratan dipenuhi.
10.
NO
OPERATION :
tidak ada operasi yang dilakukan
A.5
Intruksi
Percabangan.
BRE
RI, R2, X; becabang ke x bila isi RI = R2
Instruksi percabangan bersyarat
melakukan operasi
loncat (jump) bila beberapa
syarat tertentu terpenuhi. Syarat‑syarat ini tergantung dari data pada flag
register. Fungsi ini menyebabkan sebuah mikrokomputer mampu menanggapi berbagai
syarat yang datangnya dari luar.Hal ini juga merupakan sebuah alat yang mutlak
perlu dalam merancang program loop. Arti dari Instruksi-instruksi di bawah ini
tertulis di sebelah kanannya:
1.
CP1OH : Membandingkan accumulator
dengan 10 H dan mengeset flag yang sesuai.
2.
JP
Z,1828H : Jika zero flag dalam
keadaan set, yaitu A = 10 H, loncat ke address 1828 H dan lanjutkan pelaksanaan
program.
3.
JP
C,245AH : Jika carry flag dalam
keadaan set, yaitu A<10 H, loncat ke 245A H untuk melaksanakan program lain.
4.
ADD
A,B :
Sebaliknya, yaitu jika A>10 H, lanjutkan pelaksanaan program.
Syarat‑syarat untuk instruksi
percabangan bersyarat ditulis setelah JP:
1.
JP
C,XXXX : Jika ada carry, atau
carry flag = 1, loncat ke XXXX.
2.
JP
NC,XXXX : Jika tidak ada carry, atau
carry flag 0, loncat ke XXXX.
3.
JP
Z,XXXX : Jika zero flag = 1,
atau hasil dari operasi yang terdahulu dalah nol, loncat ke XXXX.
4.
JP
NZ,XXXX : Jika zero flag = 0.
loncat ke XXXX.
5.
JP PE,XXXX :
Jika parity flag = I (genap), atau jika teriadi overflow dalam operasi
arithmetik sebelumnya, loncat ke XXXX.
6.
JP
PO,XXXX : Jika flag P/V = 0 (parity
ganjil atau tidak ada overflow), loncat ke XXXX.
7.
JP
P,XXXX : Jika sign flag = 0
(tanda dari hasil operasi yang terdahulu adalah positif), loncat ke XXXX.
8.
JP
M,XXXX : Jika flag sign = I
(negatif), Ion‑cat ke XXXX.
Tidak ada komentar:
Posting Komentar