EE-2623 Mikroprosesor & Antarmuka Materi 4 Tracing Instruksi Team Dosen 2006
Programming (JHR)
Tahap Decode Dari siklus FDX, proses yang paling rumit adalah decode Beberapa istilah : Program susunan instruksi (user) Instruksi bagian terkecil dari program (user) Mikroprogram susunan pekerjaan yang diperintahkan Control System Mikroinstruksi pekerjaan yang diperintahkan Control System Instruksi –fetch Control System –decode mikroprogram
ADD A,B Opcode ADD dibawa ke CU Didecodekan menjadi Control System /Control Unit /Instruction Decoder ADD A,B Opcode ADD dibawa ke CU Didecodekan menjadi B (di memori) ALU [2] B (di ALU) ACC [3] A (di memori) ALU [4] B (di ACC) ALU [5] + A & B [6] Hasil ACC [7] 1 ADD 4 2,5 A B 6 + 3,7 B,Hasil 5 B ACC Memory
MOV A,B Opcode ADD dibawa ke CU Didecodekan menjadi Control System /Control Unit /Instruction Decoder MOV A,B Opcode ADD dibawa ke CU Didecodekan menjadi B (di memori) ALU [2] B (di ALU) ACC [3] ACC A (di memori) [4] 1 MOV 2 B 3 B 4 B ACC Memory
Misalkan sebuah program sbb: 136B:0100 BB0F00 MOV BX,000F 136B:0103 89D8 MOV AX,BX 136B:0105 8B07 MOV AX,[BX] 136B:0107 8B47FF MOV AX,[BX-01] 136B:010A A10D00 MOV AX,[000D] Perintah MOV BX,000F BX = 000F Perintah MOV AX,BX AX = BX Perintah MOV AX,[BX] AL = [DS:BX] AH = [DS:BX+1]
Alamat Code Program IP AX BX 100 0000 CS:100 BB FC 00 MOV BX,00FC 103 00FC CS:103 B8 FF 00 MOV AX,00FF 106 00FF 000200FF 000100FF 00FD 00FE CS:106 43 INC BX 107 CS:107 31 D8 XOR AX,BX 109 0002 0001 CS:109 75 F8 JNZ 103 10B CS:10B 89 D8 MOV AX,BX 10D
Perhitungan Timing NOP x 25 50 JMP LOOP 15 Misal NOP : 2 clock IN : 10 clock JMP : 15 clock Clock : 1 MHz Ingin input data ke AL setiap 75 mikrodetik = (75 us : 1 MHz) = 75 clock LOOP: IN COM1 10 NOP x 25 50 JMP LOOP 15
Contoh Soal: Berapa clock yang dibutuhkan program ini: MOV BX,00FC 4 clock LOOP: MOV AX,00FF 4 clock INC BX 3 clock XOR AX,BX 3 clock JNZ LOOP 4/16 clock MOV AX,BX 2 clock
Label AX BX Clock 0000 00FC 4 LOOP 00FF 00FD 3 0002 16 00FE 0001 2 TOTAL 72