आज, इस पोस्ट में हम Machine Control Instruction in 8085 के बारें में जानेंगे। लेकिन, उस से पहले हम समझेंगे, What is Stack, What is Stack Pointer in 8085 और What is Program Counter?
माइक्रोप्रोसेसर 8085 के block diagram और Pin Diagram में हम पढ़ चुके हैं की Stack Pointer और Program Counter दोनों ही 16-bit special-purpose register हैं. लेकिन, यह रजिस्टर काम कैसे करता है, यह हमको नहीं पता.
आइये, आज यहाँ इस आर्टिकल में हम समझते हैं की Program Counter और Stack Pointer कैसे काम करता है.
Table of Contents
What is a Program Counter (PC) in Hindi?
Program Counter, प्रोग्राम की अगली इंस्ट्रक्शन (next instruction) के address को hold करके रखता है. कैसे, उदाहरण के लिए, नीचे लिखे गए program को देखें,
Address Opcode
1000 MVI A, 05H
1002 MVI B, 06H
1004 ADD B
1005 STA 2005H
1008 HLT
जब MVI A, 05H instruction execute हो रही है. तब program counter, प्रोग्राम की next instruction (MVI B, 06H) के address (1002) को store कर लेता है.
- What is Branch Instruction in 8085?
- What is Data Transfer Instruction, Arithmetic, and Logical Instruction in 8085 Microprocessor in Hindi?
इसी प्रकार, जब MVI B, 06H instruction execute होती है. तब Program Counter में प्रोग्राम की अगली इंस्ट्रक्शन (ADD B) का address (1004) store हो जाता है.
What is Stack Pointer in 8085 in Hindi?
क्या आपको पता है की Stack क्या है? नहीं!
आइये, पढ़ते और समझते हैं,
Stack, एक Temporary memory है. जो, Last In First Out (LIFO) के Concept पर काम करती है. जो भी डाटा आखिर में stack में insert किया जाता है, वह पहले निकाला (POP) जाता है, और जो डाटा पहले insert (PUSH) किया जाता है, वह आखिर में निकाला जाता है.
मान लीजिये,
आपने किताबें एक ऊपर एक रखी हुई हैं, तो जो किताब सबसे ऊपर रखी है, जाहिर है की उस किताब को आपको पहले प्रयोग करना पड़ेगा। फिर आप,अगली किताब तक पहुँच पाएंगे।
Stack में Data को insert करने के process को PUSH Operation और data निकालने के process को POP Operation कहते हैं.
Stack Pointer = Top of the Stack
उदाहरण के लिए,
ऊपर लिखे गए प्रोग्राम को देखें, जब माइक्रोप्रोसेसर 8085, MVI A 05H instruction को execute करता है. उस समय Program Counter, अगली instruction के address (1002) को hold करता है.
लेकिन, जब CALL 2050 instruction execute होती है. तब Program Counter, Subroutine Program के 2050 memory address को hold करता है. और Main Program की अगली instruction (MVI C, 09H) का एड्रेस Stack में Save हो जाता है.
Subroutine Program के RETURN instruction के execute होने के बाद Program Counter, Main Program के एड्रेस को stack से fetch करेगा और उस एड्रेस पर स्टोर इंस्ट्रक्शन को execute कर देता है।
PUSH and POP Instruction in 8085
PUSH B
इस इंस्ट्रक्शन के execute होने के बाद, register-pair (B-C) के content, Stack में copy हो जाते हैं.
माना, Register B में 35H और Register C में 30H है.
जब Register B का Data, Stack में जायेगा, तो memory address (200C) में एक का decrement होगा। अब, stack pointer, memory address (200B) को point करेगा और Register C का content, Stack की location (200B) पर 30H चला जायेगा।
POP B
यदि आप किताबों को एक के ऊपर एक रखते हैं, और उनमे से अगर किसी एक किताब को पढ़ना है. तब, जो किताब सबसे ऊपर रखी है, आपको पहले वो हटानी पड़ेगी। फिर, उसके नीचे वाली किताब को निकाला जायेगा। बिल्कुल, यही ऑपरेशन POP Instruction का है.
इस instruction के execute होने के बाद, Stack में store content, Register B और Register C में Store हो जायेगा।
जब memory address 200B से डाटा निकाला जायेगा, तो 30H, Register C में store हो जायेगा। अब stack pointer (SP) 200C Memory location को Point करेगा।
इस Memory Address (200C) का data, Register B में Copy हो जायेगा।
ध्यान रखने योग्य बात:
- जब कभी भी आप PUSH Operation को perform करते हैं, तो memory address में by one का decrement होता है.
- POP operation करने पर memory address में by one का increment होता है.
PUSH PSW Instruction in 8085
Flag register और Accumulator के combination को Program Status Word (PSW) कहते हैं.
यह इंस्ट्रक्शन accumulator के content और PSW के content को Stack में Save करती है.
POP PSW Instruction in 8085
यह इंस्ट्रक्शन stack में स्टोर content को Accumulator और PSW में Save करती है.
https://www.youtube.com/watch?v=chE_7EUwMKI&list=PLd7ZnpYrrolrg732O-jgzk4WIHNz-LMrZ
HLT Instruction in 8085
Halt इंस्ट्रक्शन, किसी भी program के execution को रोक देती है.
SPHL Instruction in 8085
H-L register pair का content, stack pointer में Copy हो जायेगा।
L register का content, stack pointer की Lower-byte में store होगा और H register का content, stack pointer की Higher-byte में store होगा।
XTHL Instruction in 8085
यह implied addressing mode का 1-byte का instruction है. Stack में Lower-Byte का data, register-L के content से exchange होगा और stack का Higher-Byte Data, register-H के content से exchange होगा।
EI Instruction in 8085
यह (Enable Interrupt) 1-byte instruction है. इस instruction के execute होने के बाद, interrupts (TRAP, RST 7.5, RST 6.5, RST 5.5, INTR) enable हो जाते हैं.
DI Instruction in 8085
इस ((Disable Interrupt) इंस्ट्रक्शन के execute होने के बाद सारे interrupts disable हो जायेंगे।
NOP Instruction in 8085
इस (No Operation) instruction का प्रयोग time-delay को generate करने के लिए किया जाता है. जब, यह इंस्ट्रक्शन execute होती है, तब कुछ देर के लिए माइक्रोप्रोसेसर काम करना बंद कर देता है.
Frequently Asked Questions (FAQs)
Question1: माइक्रोप्रोसेसर में म्यू० पी० क्या होता है?
Answer: म्यू० पी०, microprocessor का short form है.