Addressing Modes Introduction -...
Transcript of Addressing Modes Introduction -...
![Page 1: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/1.jpg)
Addressing Modes
Introduction
![Page 2: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/2.jpg)
Addressing Modes• Implied• Immediate• Direct• Indirect• Register• Register Indirect• Displacement (Indexed) • Autoincrement• Autodecrement• Stack
![Page 3: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/3.jpg)
Implied ModeOperands are specified implicitly in definition of the instruction
Examples»COM : Complement Accumulator
Operand in AC is implied in the definition of the instruction.
All register reference instruction that use an accumulator are implied mode instruction.
»PUSH : Stack pushOperand is implied to be on top of the stack.
Zero address instruction in stack are implied mode since the operands are implied on top of stack.
![Page 4: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/4.jpg)
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
– Useful for initializing registers to a constant value– Example : LD #NBR
![Page 5: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/5.jpg)
Immediate Addressing Diagram
OperandOpcode
Instruction
![Page 6: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/6.jpg)
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
Example : LD ADR
ADR = Address part of Instruction][ ADRMAC
![Page 7: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/7.jpg)
Direct Addressing Diagram
Address AOpcode
Instruction
Memory
Operand
![Page 8: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/8.jpg)
Indirect Addressing (1)• 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
![Page 9: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/9.jpg)
Indirect Addressing (2)• Large address space • 2n where n = word length• May be nested, multilevel, cascaded
—e.g. EA = (((A)))
• Multiple memory accesses to find operand• Hence slower
Example : LD @ADR ]][[ ADRMMAC
![Page 10: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/10.jpg)
Indirect Addressing Diagram
Address AOpcode
Instruction
Memory
Operand
Pointer to operand
![Page 11: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/11.jpg)
Register Addressing (1)• Operand is held in register named in
address filed Register is selected from a register field in the instruction
» k-bit register field can specify any one of 2k registers
• EA = R• Limited number of registers• Very small address field needed
—Shorter instructions—Faster instruction fetch
![Page 12: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/12.jpg)
Register Addressing (2)• No memory access• Very fast execution• Very limited address space• Multiple registers helps performance
—Requires good assembly programming or compiler writing
—Ex. C programming – register int a;
Example : LD R1 1RAC
![Page 13: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/13.jpg)
Register Addressing Diagram
Register Address ROpcode
Instruction
Registers
Operand
![Page 14: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/14.jpg)
Register Indirect Addressing
• C.f. indirect addressing• EA = (R)• Operand is in memory cell pointed to by
contents of register R• Large address space (2n)• One fewer memory access than indirect
addressing
Example : LD (R1) ]1[RMAC
![Page 15: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/15.jpg)
Register Indirect Addressing Diagram
Register Address ROpcode
Instruction
Memory
OperandPointer to Operand
Registers
![Page 16: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/16.jpg)
Displacement Addressing• EA = A + (R)• Address field hold two values
—A = base value—R = register that holds displacement—or vice versa
![Page 17: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/17.jpg)
Displacement Addressing Diagram
Register ROpcode
Instruction
Memory
OperandPointer to Operand
Registers
Address A
+
![Page 18: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/18.jpg)
Relative Addressing• A version of displacement addressing
PC is added to the address part of the instruction to obtain the effective address
• 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
Example : LD $ADR ][ ADRPCMAC
![Page 19: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/19.jpg)
Indexed Addressing– XR (Index register) is added to the address part of
the instruction to obtain the effective address– Example : LD ADR(XR)
• A = base• R = displacement• EA = A + (R)
][ XRADRMAC
![Page 20: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/20.jpg)
Base-Register Addressing– the content of a base register is added to the
address part of the instruction to obtain the effective address
![Page 21: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/21.jpg)
Autoincrement or Autodecrement ModeSimilar to the register indirect mode except that
»the register is incremented after its value is used to access memory
»the register is decrement before its value is used to access memory
»Example (Autoincrement) : LD (R1)+
111],1[ RRRMAC
![Page 22: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/22.jpg)
Stack Addressing• Operand is (implicitly) on top of stack• e.g.
—ADD Pop top two items from stackand add
![Page 23: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/23.jpg)
L o a d t o A C M o d e
A d d r e s s = 5 0 0
N e x t i n s t r u c t i o n
7 0 0
4 5 0
8 0 0
9 0 0
3 2 5
3 0 0
P C = 2 0 0
R 1 = 4 0 0
X R = 1 0 0
A C
2 0 0
7 0 2
6 0 0
5 0 0
4 0 0
3 9 9
2 0 2
2 0 1
8 0 0
A d d r e s s M e m o r y
Addressing Mode Effective Address Content of AC Immediate Address Mode 201 500 Direct Address Mode 500 800 Indirect Address Mode 800 300 Register Mode 400 Register Indirect Mode 400 700 Relative Address Mode 702 325 Indexed Address Mode 600 900 Autoincrement Mode 400 700 Autodecrement Mode 399 450
R1 = 400
500 + 202 (PC)
500 + 100 (XR)
R1 = 400 (after)
R1 = 400 -1 (prior)
AC500AC(500)
AC((500))ACR1
AC(R1)AC(PC+500)AC(XR+500)
AC(R1)+AC-(R1)
![Page 24: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/24.jpg)
Application of Addressing Modes
The 8085 has the following 5 different types of addressing.
1. Immediate Addressing2. Direct Addressing3. Register Addressing4. Register Indirect Addressing5. Implied Addressing
![Page 25: Addressing Modes Introduction - ggn.dronacharya.infoggn.dronacharya.info/CSEDept/Downloads/QuestionBank... · Application of Addressing Modes The 8085 has the following 5 different](https://reader030.fdocuments.in/reader030/viewer/2022040513/5e670c4ba3a206253d09b271/html5/thumbnails/25.jpg)
8086 Addressing Modes
Register addressingImmediate addressingDirect addressingRegister indirect addressingBase-plus-index addressingRegister relative addressing Base relative-plus-index addressing: