Presentation is loading. Please wait.

Presentation is loading. Please wait.

WEEK 3 I/O Port Programming ET2640 Microprocessors and Microcontrollers.

Similar presentations


Presentation on theme: "WEEK 3 I/O Port Programming ET2640 Microprocessors and Microcontrollers."— Presentation transcript:

1 WEEK 3 I/O Port Programming ET2640 Microprocessors and Microcontrollers

2

3

4

5 Computer Architecture and Organization Instruction Sets: Addressing Modes and Formats ET2640 Microprocessors and Microcontrollers

6 Addressing Modes Immediate Direct Indirect Register Register Indirect Displacement (Indexed) Stack ET2640 Microprocessors and Microcontrollers

7 Immediate Addressing Operand is part of instruction Operand = address field e.g. ADD 5 – Add 5 to contents of accumulator – 5 is operand No memory reference to fetch data Fast Limited range ET2640 Microprocessors and Microcontrollers

8 Immediate Addressing Diagram OperandOpcode Instruction ET2640 Microprocessors and Microcontrollers

9 Direct Addressing Address field contains address of operand Effective address (EA) = address field (A) e.g. ADD A – Add contents of cell A to accumulator – Look in memory at address A for operand Single memory reference to access data No additional calculations to work out effective address Limited address space ET2640 Microprocessors and Microcontrollers

10 Direct Addressing Diagram Address AOpcode Instruction Memory Operand ET2640 Microprocessors and Microcontrollers

11 Indirect Addressing Memory cell pointed to by address field contains the address of (pointer to) the operand EA = (A) – Look in A, find address (A) and look there for operand e.g. ADD (A) – Add contents of cell pointed to by contents of A to accumulator ET2640 Microprocessors and Microcontrollers

12 Indirect Addressing Large address space 2 n where n = word length May be nested, multilevel, cascaded – e.g. EA = (((A))) Draw the diagram yourself Multiple memory accesses to find operand Hence slower ET2640 Microprocessors and Microcontrollers

13 Indirect Addressing Diagram Address AOpcode Instruction Memory Operand Pointer to operand ET2640 Microprocessors and Microcontrollers

14 Register Addressing Operand is held in register named in address filed EA = R Limited number of registers Very small address field needed – Shorter instructions – Faster instruction fetch ET2640 Microprocessors and Microcontrollers

15 Register Addressing No memory access Very fast execution Very limited address space Multiple registers helps performance – Requires good assembly programming or compiler writing – N.B. C programming register int a; c.f. Direct addressing ET2640 Microprocessors and Microcontrollers

16 Register Addressing Diagram Register Address ROpcode Instruction Registers Operand ET2640 Microprocessors and Microcontrollers

17 Register Indirect Addressing C.f. indirect addressing EA = (R) Operand is in memory cell pointed to by contents of register R Large address space (2 n ) One fewer memory access than indirect addressing ET2640 Microprocessors and Microcontrollers

18 Register Address ROpcode Instruction Memory Operand Pointer to Operand Registers Register Indirect Addressing Diagram ET2640 Microprocessors and Microcontrollers

19 Displacement Addressing EA = A + (R) Address field hold two values – A = base value – R = register that holds displacement – or vice versa ET2640 Microprocessors and Microcontrollers

20 Displacement Addressing Diagram Register ROpcode Instruction Memory Operand Pointer to Operand Registers Address A + ET2640 Microprocessors and Microcontrollers

21 Relative Addressing A version of displacement addressing R = Program counter, PC EA = A + (PC) i.e. get operand from A cells from current location pointed to by PC c.f locality of reference & cache usage ET2640 Microprocessors and Microcontrollers

22 Base-Register Addressing A holds displacement R holds pointer to base address R may be explicit or implicit e.g. segment registers in 80x86 ET2640 Microprocessors and Microcontrollers

23 Indexed Addressing A = base R = displacement EA = A + R Good for accessing arrays – EA = A + R – R++ ET2640 Microprocessors and Microcontrollers

24 Combinations Postindex EA = (A) + (R) Preindex EA = (A+(R)) (Draw the diagrams) ET2640 Microprocessors and Microcontrollers

25 Stack Addressing Operand is (implicitly) on top of stack e.g. – ADDPop top two items from stack and add ET2640 Microprocessors and Microcontrollers

26

27

28

29

30

31

32

33 8051 Addressing Modes ET2640 Microprocessors and Microcontrollers

34

35

36

37

38

39

40 Next Week Quiz from Week 3 Logic and Numerical Methods Describe contemporary wide-ranging microprocessor and microcontroller product applications. Use numerical methods for processor-based systems to perform calculations and conversions related to programming. Select a processor addressing mode for a given scenario. Apply common processor instructions in programs to demonstrate how they operate. Demonstrate the processes of creating, assembling, and programming microcontrollers. Use simulation and debugging techniques to verify that software is operational. Plan, design, implement, and debug at least one functional microcontroller student project. ET2640 Microprocessors and Microcontrollers


Download ppt "WEEK 3 I/O Port Programming ET2640 Microprocessors and Microcontrollers."

Similar presentations


Ads by Google