01 Setinstruksi
01 Setinstruksi
SET INSTRUKSI
IBP WIDJA, MT
Kumpulan instruksi lengkap yang dimengerti oleh CPU Kode mesin Biner Biasanya direpresentasikan oleh Kode Assembly
ORKOM 2
SET INSTRUKSI
Elemen Instruksi
Operation code (Kode Operasi) Kerjakan perintah ini ... Source Operand reference (Acuan Operand sumber) Dengan data ini ... Result Operand reference (Acuan Operand hasil) Simpan hasilnya kesini ... Next Instruction Reference (Acuan Instruksi berikutnya Setelah selesai, kerjakan ini ...
ORKOM 2
SET INSTRUKSI
ORKOM 2
SET INSTRUKSI
ORKOM 2
SET INSTRUKSI
Representasi Instruksi
Untuk konsumsi programmers disediakan penyajian simbolik untuk kode operasi (opcode)
ORKOM 2
SET INSTRUKSI
Bahasa Assembly
Representasi Instruksi diatas dapat disajikan dalam bentuk lengkap untuk merepresentasikan set instruksi yang dikenal sebagai bahasa assembly Contoh: MOV A, X : Berarti data ditransfer dari alamat
yang ditunjukkan oleh register X ke alamat register A ADD A, B : Berarti menjumlahkan bilangan yang berada di alamat Register B dengan bilangan yang ditunjukkan oleh Register A dan hasilnya diletakkan pada alamat Register A
ORKOM 2
SET INSTRUKSI
Jenis Instruksi
Data processing Data storage (main memory) Data movement (I/O) Program flow control
ORKOM 2
SET INSTRUKSI
3 alamat
Hasil, Operand 1, Operand 2 Contoh: ADD A,B,C a = b + c; Jarang digunakan Perlu word yang panjang
ORKOM 2
SET INSTRUKSI
2 alamat
Salah satu sebagai operand dan hasil Contoh: ADD A,B a=a+b Instruksi lebih pendek Diperlukan kerja ekstra
ORKOM 2
SET INSTRUKSI
10
1 alamat
Addres kedua Implicit Biasanya menggunakan register (accumulator) Umum pada mesin-mesin terdahulu
ORKOM 2
SET INSTRUKSI
11
0 (nol) alamat
semua addres implicit menggunakan stack Contoh: push a push b add pop c Berarti: c=a+b
SET INSTRUKSI 12
ORKOM 2
ORKOM 2
SET INSTRUKSI
13
Alamat banyak
Instruksi semakin kompleks perlu register banyak Program lebih pendek Eksekusi lebih lambat per instruksi Instruksi lebih sederhana Program lebih panjang (banyak Instruksi per program) Eksekusi lebih cepat per instruksi
Alamat sedikit
ORKOM 2
SET INSTRUKSI
14
Pertimbangan Perancangan
Operation
Berapa banyak operand? Apa saja operasi yang disediakan? Seberapa kompleks?
ORKOM 2
SET INSTRUKSI
15
Pertimbangan Perancangan...
Register
Jumlah register yang tersedia dlm CPU Operasi apa yg dpt dikerjakan oleh masing-masing registers? Mode untuk menspesifikasikan alamat suatu operand
Pengalamatan
RISC vs CISC
ORKOM 2
SET INSTRUKSI
16
Jenis Operand
Address Number
Character
Logical Data
ORKOM 2
SET INSTRUKSI
17
Transfer Data :
Move, Store, Load, Exchange, Clear, Set, Push, Pop Add, Substract, Multiply, Divide, Absolute, Negate, Increment, Decrement AND, OR, NOT, Ex-OR, Test, Compare, Shift, Rotate
Aritmetika : Logika:
Konversi : Translate, Convert I/O : Input, Output, Start, test Transfer Control:
ORKOM 2
Stack adalah sekumpulan elemen (register/memori) yang berurutan dan hanya satu elemen saja yg dapat diakses Titik akses disebut sebagai puncak (top) stack Panjang stack bersifat variabel Karena stack hanya dapat diakses dari puncaknya saja maka stack juga dikenal sebagai pushdown list atau antrian Last-InFirst-Out
ORKOM 2
SET INSTRUKSI
19
ORKOM 2
SET INSTRUKSI
20
PUSH A PUSH B PUSH C MUL ADD PUSH D PUSH E PUSH F MUL SUB DIV POP X
ORKOM 2 SET INSTRUKSI 22
Pertanyaan
1. Sebutkan elemen khusus dari instruksi mesin? 2. Jenis lokasi apakah yg dapat menggunakan operand sumber dan tujuan? 3. Sebutkan dan jelaskan lima rancangan set instruksi penting? 4. Bandingkan mesin 0, 1, 2, 3 alamat dng menulis program untuk menghitung: X = (A+BxC)/(D-ExF)
0 Alamat PUSH M POP M ADD SUB MUL DIV 1 Alamat LOAD M STORE M ADD M SUB M MUL M DIV M 2 Alamat MOVE(X< --Y) ADD(X< --X+ Y) SUB(X< --X-Y) MUL(X< --XxY) DIV(X< --X/Y) 3 Alamat MOVE(X< --Y) ADD(X< --Y+ Z) SUB(X< --Y-Z) MUL(X< --YxZ) DIV(X< --Y/Z)
ORKOM 2
SET INSTRUKSI
23