Set
intruksi adalah sekumpulan lengkap intruksi yang dapat dimengerti oleh CPU, set
intruksi sering juga disebut bahasa mesin karena aslinya juga berbentuk biner
kemudian dimengerti sebagai bahasa assembly untuk dimengerti manusia
(programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh
manusia. Sebuah intruksi terdiri dari sebuah opcode, biasanya bersama dengan
beberapa informasi tambahan seperti darimana asal operand-operand dan kemana
hasil akan ditempatkan.
TRANSFER
DATA
Menetapkan
lokasi operand sumber dan operand tujuan
·
Lokasi – lokasi
tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
·
Menetapkan panjang data
yang dipindahkan.
·
Menetapkan mode
pengalamatan.
Tindakan
CPU untuk melakukan transfer data adalah :
a. Memindahkan
data dari satu lokasi ke lokasi lain
b. Apabila
memori dilibatkan :
·
Menetapkan alamat
memori.
·
Menjalankan
transformasi alat memori virtual ke alamat memori aktual.
·
Mengawali pembacaan /
penulisan memori.
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 bgian paling atas sumber
ARITHMETIC
Tindakan CPU untuk
melakukan operasi aritmethic :
1.
Transfer
data sebelum atau sesudah.
2.
Melakukan
fungsi dalam ALU.
3.
Menset
kode-kode kondisi dan flag.
Operasi set intruksi untuk
arithmetic :
1.
ADD
: Penjumlahan
2.
SUBTRACT
: Pengurangan
3.
MULTIPLY
: Perkalian
4.
DIVIDE :
Pembagian
5.
ABSOLUTE
6.
NEGATIVE
7.
DECREMENT
8.
INCREMENT
Urutan 5 sampai 8 merupakan instruksi operand tunggal.
LOGICAL
Operasi set instruksi
untuk operasi logical :
• AND, OR, NOT, EXOR
• COMPARE : Melakukan perbandingan logika.
• 3TEST : Menguji kondisi tertentu.
• SHIFT : Operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit.
• ROTATE : Operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.
• AND, OR, NOT, EXOR
• COMPARE : Melakukan perbandingan logika.
• 3TEST : Menguji kondisi tertentu.
• SHIFT : Operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit.
• ROTATE : Operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.
CONTROL
.Operasi set instruksi untuk transfer control
:
• JUMP (cabang) : Pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
• JUMP BERSYARAT : Menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan.
• JUMP SUBRUTIN : Melompat ke alamat tertentu.
• RETURN : Mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
• EXECUTE : Mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi.
• SKIP : Menambah PC sehingga melompati instruksi berikutnya.
• SKIP BERSYARAT : Melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan.
• HALT : Menghentikan eksekusi program.
• WAIT (HOLD) : Melanjutkan eksekusi pada saat persyaratan dipenuhi.
• NO OPERATION : Tidak ada operasi yang dilakukan.
• JUMP (cabang) : Pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
• JUMP BERSYARAT : Menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan.
• JUMP SUBRUTIN : Melompat ke alamat tertentu.
• RETURN : Mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu.
• EXECUTE : Mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi.
• SKIP : Menambah PC sehingga melompati instruksi berikutnya.
• SKIP BERSYARAT : Melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan.
• HALT : Menghentikan eksekusi program.
• WAIT (HOLD) : Melanjutkan eksekusi pada saat persyaratan dipenuhi.
• NO OPERATION : Tidak ada operasi yang dilakukan.
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 control.
contoh : membaca atau mengubah register control.
X = (A+BxC) / (D-ExF)
NOMER 2.
X = (A+BxC) / (D-ExF)
3 Alamat
MPY
X,B,C
ADD
X,X,A
MPY
X,B,C
ADD
X,X,A
MPY
Y,E,F
SUB
Y,D,Y
DIV
X,X,Y
5
operator / operasi
2
Alamat
MOV
X,B
MPY
X,C
ADD
X,A
MOV
Y,E
MPY
Y,F
SUB
D,Y
DIV
X,Y
7
operator / operasi
1
Alamat
LOAD
E
MPY
F
STOR
X
LOAD
D
SUB
X
STOR
X
LOAD
B
MPY
C
ADD
A
DIV
X
STOR
X
11
Operator / operasi
0
Alamat
PUSH
A
PUSH
B
PUSH
C
MPY
ADD
PUSH
D
PUSH
E
PUSH
F
MPY
SUB
DIV
POP
X
12
Operator / operasi
Tidak ada komentar:
Posting Komentar