- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Instruction type POP rp in 8085 Microprocessor
In 8085 Instruction set, with the mnemonic POP, we can pop out 2-Bytes from the top of the stack through rp i.e. register pair e.g. BC, DE, HL or AF. Here AF is a register pair formed with Flag and Accumulator registers and also known as PSW (Processor Status Word). In PSW, Accumulator is the MS Byte, and Flags register is the LS Byte.
Mnemonics, Operand | Opcode(in HEX) | Bytes |
---|---|---|
POP B | C1 | 1 |
POP D | D1 | 1 |
POP H | E1 | 1 |
POP PSW | F1 | 1 |
In the above mention Opcodes, 2-bits are occupied to mention the register pair. 2-bits can have 4 combinations. So 4 register pairs can be mentioned with POP. As mentioned earlier, they are BC, DE, HL and AF or PSW.
Note with LXI instruction, we are having 4 possible register pairs can be used i.e. BC, DE, HL and SP. So at the same time we can’t have SP and PSW applicable with the same instruction.
rp Code | Register Pair |
---|---|
0 0 | BC |
0 1 | DE |
1 0 | HL |
1 1 | SP or PSW, but never both at the same time. |
Let us consider the following example for better understanding of the operation of the instruction.
Here we are considering the instruction POP D which is an instruction falling in the category. As rp can have any of the four values, there are four opcodes for this type of instruction. It occupies only 1-Byte in memory. POP D is an example instruction of this type. It is a 1-Byte instruction. The result of execution of this instruction is shown below with an example.
Before | After | |
---|---|---|
(BC) |
AABBH | AABBH |
(SP) |
3FFEH | 4000H |
(3FFFH) |
AAH | AAH |
(3FFEH) |
BBH | BBH |
(DE) |
Any value | AABBH |
Address | Hex Codes | Mnemonic | Comment |
---|---|---|---|
2000 | 01 | LXI B, AABBH | Initializing BC register pair with AABBH |
2001 | BB | Low order Byte BBH | |
2002 | AA | High order Byte AAH | |
2003 | 31 | LXI SP,4000H | Initializing SP with 4000H |
2004 | 00 | Low order Byte 00H | |
2005 | 40 | High order Byte 40H | |
2006 | C5 | PUSH B | At 3FFFH, AAH and at 3FFEH,BBH will be moved |
2007 | D1 | POP D | Popping and initializing DE register pair with stack contents |
The timing diagram against this instruction POP D execution is as follows −
Summary − So this instruction POP requires 1-Byte, 3-Machine Cycles (Opcode Fetch, Memory Read, Memory Read) and 10 T-States for execution as shown in the timing diagram.