220 likes | 510 Views
Instruksi Pengalamatan Data. Software. PROGRAM: adalah urutan dari sekumpulan perintah yang memberikan informasi kepada uP apa yang harus dilakukan. Setiap perintah dalam sebuah program disebut INSTRUKSI 8088 mengerti dan dapat melaksanakan 117 INSTRUKSI DASAR
E N D
Software • PROGRAM: adalah urutan dari sekumpulan perintah yang memberikan informasi kepada uP apa yang harus dilakukan. • Setiap perintah dalam sebuah program disebut INSTRUKSI • 8088 mengerti dan dapat melaksanakan 117 INSTRUKSI DASAR • Bahasa dasar dari IBM PC adalah bahasa mesin dari 8088 • Sebuah program dalam bahasa mesin merujuk kepada kode mesin • ADDAX, BX • (Opcode) (Destination operand) (Source operand )
Instructions • One-to-one relationship antara bahasa assembly dan instruksi bahasa mesin • A compiled machine code implementation of a program written in a high-level language results in inefficient code – More machine language instructions than an assembled version of an equivalent handwritten assembly language program [LABEL:] MNEMONIC [OPERANDS] [; COMMENT] Address identifier Max 31 characters : indicates it opcode generating instruction Does not generate any machine code Instruction Contoh: START: MOV AX,BX ; copy BX into AX
Dua keuntungan pemrograman dengan bahasa assembly: – It takes up less memory – It executes much faster
Format instruksi bhs mesin • Terdiri dari • Op-code 8 bit + • Operand (data,register,dll) • MOV AX,BX 89 (opcode) D8 (operand)
Coding • Sesungguhnya bhs mesin diciptakan untuk kemudahan programmer (manusia) • Control Unit di CPU hanya mengerti pola bit perintah • MOV AX,BX 89 D8 • MOV AL,[2400] A0 00 24 • ADD AX,BX 01 D8
Konversi Assembly Language Instructions ke Machine Code • Byte 1 terdiridari 3 informasi • Opcode field / kodeoperasi, 6 bits (seperti: add, subtract, move) • Register Direction Bit (D bit) menjelaskan operand register dari REG pada byte keduaapakahsebagaioperandestinasiatauoperansumber 1: destination 0: source • Data Size Bit (W bit) menentukanapakahdilakukanoperasi 8-bit atau16-bit data 0: 8 bits 1: 16 bits • Byte 2 terdirijugadari 3 informasi • Mode field (MOD): Menentukan mode pengalamatan • Register field (REG): Mengidentifikasi register untuk operand pertama • Register/memory field (R/M field): Menentukan Register atau Memory pada operand kedua
Contoh: MOV BL,AL (88C316) Opcode untuk MOV = 100010 D = 0 (AL source operand) W bit = 0 (8-bits) Karena itu, byte 1 adalah 100010002=8816 MOD = 11 (Mode pengalamatan register) REG = 000 (code for AL) operand pertama R/M = 011 (destination is BL) operand kedua Karena itu, Byte 2 adalah 110000112=C316
Contoh u/ berbagai Address Mode • mov SP,BX; register A.M. • mov CX,[4372H]; direct A.M. • mov CL,[BX]; register indirect A.M. • mov 43H[SI],DH; indexed relative A.M. • mov CS:[BX],DL; segment ovverides • mov AL,9CH; immediate A.M.