Bab 10 Disusun Oleh : Rini Agustina, S.Kom, M.Pd Definisi: lengkap instruksi yang dapat adalah kumpulan dimengerti CPU Sifat2: 1. Merupakan Kode Mesin 2. Dinyatakan dalam Biner 3.Biasanya digunakan dalam kode-kode bahasa Assembly Elemen Dasar Instruksi 1. Operation code (Op code) 2. Source Operand reference 3. Result Operand reference 4. Next Instruction Reference FAKULTAS TEKNOLOGI 2 1
Lokasi Operand 1. Main memory : RAM 2. CPU Register : Akumulator 3. I/O Device: Buffer Memory State Diagram Sebuah Siklus Instruksi 3 Representasi Instruksi Setiap Instruksi memiliki bit pattern yang unik dalam kode mesin Untuk memudahkan digunakan simbolik, seperti: e.g. ADD, SUB, LOAD Operand dapat dinyatakan sbb: ADD A,B Contoh Format Instruksi 4 2
Tipe Instruksi Data processing Data storage (main memory) Data movement (I/O) Program flow control Instruksi 3 Alamat Operand 1, Operand 2, Result a = b + c; Jarang Digunakan Terlalu panjang word untuk mewakili instruksi 5 Instruksi 2 Alamat 1. Salah satu alamat memegang peran ganda sebagai source dan result 2. a = a + b 3. Mereduksi panjang Instruksi 4. Langkah-langkah pemrograman menjadi lebih panjang 5. Temporary storage diperlukan untuk menyimpan kalkulasi sementara Instruksi 1 Alamat 1. Alamat kedua bersifat implisit, tidak terlihat 2. Biasanya adalah sebuah register Akumulator (ACC) 3. Umum digunakan pada prosesor terdahulu. 6 3
Instruksi 0 Alamat 1. Semua alamat bersifat Implisit 2. Digunakan khusus untuk operasi Stack 3. Contoh : c = a + b e.g. push a push b add pop c Kelebihan dan Kekurangan a. Banyak Alamat : - Instruksi lebih kompleks - Total Baris Instruksi lebih pendek - Membutuhkan lebih banyak register 7 b. Sedikit Alamat - Instruksi lebih sederhana - Langkah program lebih banyak - Eksekusi program lebih cepat Jenis Jenis Operand Addresses Numbers Integer/floating point Characters ASCII etc. Logical Data Bits or flags 8 4
Tipe-Tipe Data General - arbitrary binary contents Integer - single binary value Ordinal - unsigned integer Unpacked BCD - One digit per byte Packed BCD - 2 BCD digits per byte Near Pointer - 32 bit offset within segment Bit field Byte String Floating Point 9 Tipe-Tipe Operasi Data Transfer Arithmetic Logical Conversion I/O System Control Transfer of Control 10 5
Operasi: Data Transfer Tentukan Arah Transfer Sumber Tujuan Banyak Data Instruksi berbeda untuk tujuan yang berbeda pula e.g. IBM 37 Operasi : Aritmatika Add, Subtract, Multiply, Divide Signed Integer Floating point? May include Increment (a++) Decrement (a--) Negate (-a) 11 Operasi Logika 1. Bitwise operations 2. AND, OR, NOT Operasi Konversi Operasi I/O Memory Access) 1. Dec to Bin 2. Hex to Bin 3. Dec to Oct 1. IN, OUT 2. Memory Mapped 3. DMA (Direct 12 6
Operasi System Control 1. Privileged instructions 2. CPU needs to be in specific state 3. Ring 0 on 80386+ 4. Kernel mode 5. For operating systems use Operasi Transfer Of Control 1. Branch e.g. branch to x if result is zero 2. Skip. increment and skip if zero ISZ Register1 Subroutine call 13 Contoh: Branch Instruction 14 7
Contoh: Nested Procedure Call 15 Contoh: Penggunaan Stack 16 8
Terima Kasih 17 9