Presentation is loading. Please wait.

Presentation is loading. Please wait.

Microprocessor and Interfacing 261313 PIC Code Execution

Similar presentations


Presentation on theme: "Microprocessor and Interfacing 261313 PIC Code Execution"— Presentation transcript:

1 Microprocessor and Interfacing 261313 PIC Code Execution http://www.e-cpe.org/moodle

2 How does the CPU executes this simple program? void main() { int i; i = 1; i++; }

3 Assembly Code MOVLW 01 BCF 03.5 MOVWF 21 INCF 21,F

4 Machine Code 11000000000001 01001010000011 00000010100001 00101010100001

5

6

7 File Register Map

8 Status Register (Address 03) Zero Bit = จะเป็น 0 เมื่อใดก็ตาม ที่ ALU คำนวณค่าออกมาเป็น 0

9 The 4 Qs Q1 = Instruction Decode Q2 = Fetch Operand Q3 = Process the Data Q4 = Write Result Data

10 Instruction Pipeline Flow Flash->Ins Reg Q1Q2Q3Q4 Flash->Ins Reg Q1Q2Q3Q4 Flash->Ins Reg Q1Q2Q3Q4 time 123123 Fetch Execute

11 Pipeline interruption Flash->Ins Reg Q1Q2Q3Q4 Flash->Ins Reg Q1Q2Q3Q4 time Goto 3 2 3 Fetch Execute

12 Program Execution Example.................... int i;........................................ i=1; 000D: MOVLW 01 000E: BCF 03.5 000F: MOVWF 21.................... i++; 0010: INCF 21,F

13 Converting Assembly to Machine Code 11000000000001 MOVLW 01 BCF 03.5 MOVWF 21 INCF 21,F 01001010000011 00000010100001 00101010100001

14 Program Execution Ex 2.................... int i;.................... i = 5; 000D: MOVLW 05 000E: BCF 03.5 000F: MOVWF 21.................... do {.................... i--; 0010: DECF 21,F.................... } while (i>0); 0011: MOVF 21,F 0012: BTFSS 03.2 0013: GOTO 010


Download ppt "Microprocessor and Interfacing 261313 PIC Code Execution"

Similar presentations


Ads by Google