SET INTRUKSI
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