Microprocessor and Interfacing PIC Code Execution II
Memory Mapped I/O MOVWF 06 W
ข้อดีข้อเสียของ Memory Mapped I/O ไม่ต้องออกแบบคำสั่งเฉพาะสำหรับ I/O MOVWF 06 MOVWF 21 I/O Operation Mem Operation
ข้อดีข้อเสียของ Memory Mapped I/O ลดความซับซ้อนของ CPU ทำให้ราคาถูกลง และ ออกแบบได้ง่าย YESNO
ข้อดีข้อเสียของ Memory Mapped I/O แต่ก็ต้องเสียตำแหน่งใน Memory ไป บางส่วน 128 Bytes I/O Mapped 240 Bytes Available RAM
ข้อดีข้อเสียของ Memory Mapped I/O ถ้า Memory และ I/O ใช้ data bus เดียวกัน อาจทำ ให้ Memory Access ช้าลง MOVWF 06 MOVWF 21 Slow I/O Operation Fast Mem Operation
Port Mapped I/O มี I/O Bus แยกจาก Memory Bus ใช้คำสั่งแยกกัน
Machine Code Generation Methods
Options Write Machine Code Write Assembly Code Use a High-Level Compiler
Writing Machine Code ENIAC
Drawbacks of High-Level Compilers Poor optimization Non-Optimal Hardware Utilization
Poor Optimazation while (1) { output_b(i); 001A: BSF B: CLRF C: BCF D: MOVF 21,W 001E: MOVWF 06
Poor Optimization Ex int i; i = 5; 000D: MOVLW E: BCF F: MOVWF do { i--; 0010: DECF 21,F } while (i>0); 0011: MOVF 21,F 0012: BTFSS : GOTO 010
Non-Optimal HW Utilization Equivalent Program in ASM BCF 03.5 MOVF 0x21,W MOVWF 06 RLF 0x21, F GOTO 0x1A RLF
File Register Map
Status Register (Address 03)