Flag register एक 8-bit का register है. इसका का उपयोग किसी भी operation के perform होने के बाद प्राप्त result का status जानने के लिए किया जाता है. Flag register को कभी भी general-purpose register (A, B, C, D, E, H and L) की तरह प्रयोग नहीं किया जाता है.
Block और Pin Diagram 8085 in Hindi में पढ़ चुके हैं की Flag Register, ALU (Arithmetic और Logical Unit) का ही एक भाग है. इस register में 5 status flag होते हैं- Carry Flag (CY), Sign Flag (S), Parity Flag (P), Zero Flag (Z), Auxiliary Carry Flag (AC).
Flag register को program status word (PSW) के नाम से भी जाना जाता है. आशा है की आपको समझ आ गया होगा की Flag register क्या है (What is Flag register of 8085 in Hindi?)
जो bit yellow box में हैं वह B7 से generate हुई carry bit है. तो इस स्थिति में carry Flag ‘1’ update हो जायेगा।
इस instruction के execute होने के बाद, result accumulator में store होता है.
STA 3000H (इस instruction की मदद से accumulator के result को मेमोरी एड्रेस 3000H पर स्टोर किया जाता है. इस स्थिति में carry flag पर कोई प्रभाव नहीं पड़ता है. )
Also read: What is interrupt in Hindi?
Machine Control Instruction in 8085
What is a Branch Instruction in 8085?
Types of Addressing Modes in Hindi
Table of Contents
Zero Flag क्या है? (Zero Flag in Flag Register of 8085 in Hindi)
Arithmetic और Logical ऑपरेशन perform होने के बाद, यदि result या output ‘complete zero’ मिलता है तो zero flag ‘1’ update होता है वरना ‘0’ update होता है.
Zero flag का उदाहरण,
MVI A 80H
ADI 80H
HLT
ऊपर लिखे गए प्रोग्राम में, जब 80 और 80 को जोड़ते हैं तो result या आउटपुट 00 आता है.
80 को हम बाइनरी में लिख लेते हैं ताकि हमारे लिए calculation आसान हो जाये,
Addition करने के बाद, प्राप्त result पूरी तरीके से zero है तो इस स्थिति में flag register का zero flag ‘1’ update होगा।
Auxiliary Carry Flag क्या है? (Auxiliary Carry Flag Register of 8085 in Hindi)
Arithmetic या logical operation perform करते समय, यदि B3 से B4 bit पर carry generate होती है तो Flag ‘1’ set होता है, नहीं तो ‘0’ set होगा।
Sign Flag क्या है? (Sign Flag in Flag Register of 8085 in Hindi)
Flag register में sign flag तब set होगा, जब प्राप्त result की 8-वीं bit ‘1’ होगी।
जब दो 8-bit के unsigned number पर ऑपरेशन perform करते हैं, तो output 8-bit का unsigned नम्बर ही प्राप्त होता है. हो सकता है की 8-वीं बिट पर ‘1’ हो, पर इसका मतलब यह बिल्कुल नहीं है की नंबर negative है. वह result एक unsigned नम्बर है.
यदि आप 30H में से 40H को घटाते है तो output F0H प्राप्त होता है, वह भी borrow ‘1’ के साथ और यदि प्राप्त result की 8-वीं bit ‘1’ है तो यह प्राप्त रिजल्ट एक negative नम्बर है.
ध्यान रहे, प्राप्त result signed number है या नहीं। इसके लिए हमेशा result की 8-वीं बिट check करते हैं न की 9-वीं bit.
Parity Flag क्या है? (Parity Flag in Flag Register of 8085 microprocessor in Hindi)
यदि result में digit एक की गिनती सम (even) है तो parity flag ‘1’ set होगा वरना ‘0’ set होगा। आइये, इसे एक उदाहरण से समझते हैं,
MVI A, FFH
ADI 20H
STA 3000H
HLT
FF और 20 का addition करने पर प्राप्त आउटपुट 1F प्राप्त होता है. 1F को बाइनरी में 0001 1111 लिखते हैं. इनमे कितने एक हैं, गिनिए। इसमें 5 एक हैं. जो की एक विषम (odd) संख्या है. ऊपर लिखी parity flag की definition के अनुसार, flag register में parity flag ‘1’ set हो जायेगा।
Example of Flag Register in 8085 Microprocessor in Hindi
MVI A FFH
ADI FFH
HLT
देखतें हैं ऊपर लिखे गए प्रोग्राम के execute होने के बाद कौन-कौन से flag update होंगे।
MVI A, FFH (इस instruction के execute होने के बाद accumulator में FF content होगा। क्योंकि, केवल data-transfer हो रहा है तो कोई भी flag में change नहीं होगा।)
ADI FFH (यह एक arithmetic instruction है. जो की Accumulator के content FF और immediate-data FF को add करती है और result को accumulator में स्टोर करती है.)
मुझे उम्मीद है की आप सभी को हेक्साडेसीमल नम्बर को बाइनरी में बदलना आता होगा। चलिये, अब नीचे addition ऑपरेशन को perform करते हैं और देखते हैं की कौन-कौन से flags update होंगे।
Carry Flag (CY) भी ‘1’ set होगा। क्योंकि D7 bit से carry generate हो रहा है.
Parity Flag (P) ‘1’ set होगा, क्योंकि आउटपुट में ‘1’ सात बार आया है जो की एक विषम संख्या (odd number) है.
Auxiliary carry (AC) flag ‘1’ set होगा, क्योंकि B3 से B4 bit पर carry generate हो रहा है.
Zero Flag (Z) ‘0’ update होगा, क्योंकि output complete zero नहीं है.
Sign Flag ‘1’ set होगा। लेकिन, हम sign flag के status को consider नहीं करेंगे, क्योंकि addition ऑपरेशन दो unsigned number पर हुआ है. फलस्वरूप, result भी एक unsigned number ही होगा।
आशा है की आपको 8085 microprocessor का Flag register in Hindi अच्छे से समझ आया होगा। इस टॉपिक से जुड़ा आपका कोई प्रश्न हो तो Comment box में लिखें।