संख्या प्रणाली की तालिका 16। हेक्साडेसिमल वर्णमाला। §13. पारंपरिक वर्णमाला के साथ हेक्साडेसिमल संख्या प्रणाली

असेंबलर में प्रोग्राम लिखने के लिए, आपको हेक्साडेसिमल नंबर सिस्टम को समझना होगा। इसमें कुछ भी जटिल नहीं है। हम अपने जीवन में दशमलव प्रणाली का उपयोग करते हैं। मुझे यकीन है कि आप सभी इसे जानते हैं, इसलिए मैं दशमलव के साथ एक सादृश्य बनाकर हेक्साडेसिमल प्रणाली को समझाने की कोशिश करूंगा।

अतः दशमलव प्रणाली में यदि हम किसी संख्या के दायीं ओर शून्य जोड़ दें तो यह संख्या 10 गुना बढ़ जाती है। उदाहरण के लिए: 1 x 10 = 10; 10 x 10 = 100; 100 x 10 = 1000 आदि। इस प्रणाली में, हम 0 से 9 तक की संख्याओं का उपयोग करते हैं, अर्थात। दस अलग-अलग अंक (वास्तव में, इसलिए इसे दशमलव कहा जाता है)।

हमारे पास दो संख्याओं के साथ एक आधार प्रणाली हो सकती है, या यह एक द्विआधारी संख्या प्रणाली है जहां 10 अंकों के बजाय आपके पास केवल दो अंक होते हैं। प्रत्येक सीट, दस की शक्ति होने के बजाय, दो से मिलकर बनेगी। अब आप कल्पना कर सकते हैं कि हम इस पर विस्तार करना जारी रख सकते हैं। हम तीन, चार, पांच, छह, सात, आठ, नौ जा सकते हैं, या हम और भी ऊपर जा सकते हैं। जैसा कि आप कल्पना कर सकते हैं, केवल 10 अंक होने के बजाय, इसमें होंगे वे संख्याएं क्या हैं? जैसा कि हम देखेंगे, स्थान दो की घात या दस की घात होने के स्थान पर ऐसी शक्तियाँ होंगी जिन्हें हम देख सकते हैं, हम दशमलव संख्या प्रणाली से मौजूदा 10 अंकों का पुन: उपयोग कर सकते हैं।

हेक्साडेसिमल प्रणाली में, हम क्रमशः सोलह "अंक" का उपयोग करते हैं। मैंने विशेष रूप से "नंबर" शब्द को उद्धरण चिह्नों में लिखा है, क्योंकि यह केवल संख्याओं से अधिक का उपयोग करता है। और यह वास्तव में कैसा है? मैं समझाता हूं: 0 से 9 तक हम दशमलव में उसी तरह गिनते हैं, लेकिन फिर यह इस तरह होगा: ए, बी, सी, डी, ई, एफ। संख्या एफ, चाहे कितनी भी मुश्किल हो गणना करें, यह 15 इंच . के बराबर होगा दशमलव प्रणाली(तालिका 1 देखें)।

हम शून्य, एक, दो, तीन, चार, पांच, छह, सात, आठ, नौ का पुन: उपयोग कर सकते हैं, लेकिन फिर हमें छह और अंक चाहिए। सम्मेलन पहले छह अक्षरों का उपयोग करना है। संख्या नहीं, लेकिन याद रखें कि ये कागज के एक टुकड़े पर सिर्फ यादृच्छिक कीड़े हैं। वे सिर्फ मनमाने प्रतीक हैं जिन्हें हमने चीजों के साथ संवाद करने के लिए विकसित किया है। आप इस प्रतीक को यहां आठ चीजों के साथ जोड़ने के लिए बड़े हुए हैं, आठ शब्द जिसे आप कई वस्तुओं को देखने पर जोड़ते हैं। इसका शाब्दिक अर्थ है कि यदि आपके पास 10 चीजें हैं, तो आप कहेंगे: "मेरे पास वहां चीजें हैं।"

दशमलव संख्या

हेक्साडेसिमल संख्या

तालिका 1. दशमलव और हेक्साडेसिमल सिस्टम।

इस प्रकार, यदि हम हेक्साडेसिमल प्रणाली में किसी भी संख्या के दाईं ओर शून्य जोड़ते हैं, तो यह संख्या बढ़ जाएगी16 एक बार।

कहने के बजाय, "मैं 15 साल का हूं," आप कह सकते हैं, "मेरे पास वहां चीजें हैं।" अब यह कैसे मदद करता है? खैर, देखते हैं कि क्या हम दशमलव में समान संख्या 231 या 231 का प्रतिनिधित्व कर सकते हैं। सात क्या है? इन जगहों के क्या मायने हैं? यह पहला स्थान शून्य शक्ति के लिए 16 का प्रतिनिधित्व करता है या अभी भी एक स्थान का प्रतिनिधित्व करता है। तो यह स्थान यहाँ क्या दर्शाता है? खैर, आधार 10 में, यह पहली शक्ति से पहले 10 था। दो आधारों में, यह पहली शक्ति के लिए दो था। यह सचमुच है, ठीक है, मुझे शब्द लिखने दो, यह सचमुच साठ है।

यह संख्या यही दर्शाती है। खैर, यह वही है जो 14 गुना 14 गुना 16 है। वह यहाँ 14 सोलह होगा, 14 गुना 16, 224 जमा सात है। खैर, 224 जमा 7 आपको उम्मीद देगा, आप इसकी सराहना कर सकते हैं। आप इनमें से किसी में भी समान मात्रा का प्रतिनिधित्व कर सकते हैं विभिन्न प्रणालियाँगणना किसी भी संख्या में जिसे आप दशमलव में निरूपित कर सकते हैं, आप उस संख्या को बाइनरी, या हेक्साडेसिमल, या आधार तीन, या आधार 60, या आधार 31 में भी प्रस्तुत कर सकते हैं, जो भी आप करते हैं।

उदाहरण 1: 1 एक्स 16 = 10; 10 x 16 = 100; 100 x 16 = 1000 आदि।

क्या आप उदाहरण 1 में हेक्साडेसिमल को दशमलव से अलग करने में सक्षम थे? और इस पंक्ति से: 10, 12, 45, 64, 12, 8, 19? यह या तो हेक्साडेसिमल या दशमलव हो सकता है। भ्रम से बचने के लिए, और कंप्यूटर स्पष्ट रूप से एक संख्या को दूसरे से अलग कर सकता है, यह असेंबलर में हेक्साडेसिमल संख्या के बाद वर्ण h या H लगाने के लिए प्रथागत है ( एच अंग्रेजी के लिए छोटा है। हेक्साडेसिमल (हेक्साडेसिमल)। संक्षेप में, इसे कभी-कभी सरल कहा जाता है हेक्स ) . और दशमलव के बाद कुछ भी न डालें। इसलिये दोनों प्रणालियों में 0 से 9 तक की संख्याओं का एक ही अर्थ होता है, तो 5 और 5h के रूप में लिखी गई संख्याएँ समान होती हैं।

आपने एक पैटर्न देखा होगा। हमारे पास जितने अधिक वर्ण हैं, इसलिए आधार 16 में, आपके पास 16 वर्ण हैं, कम स्थान मान हमें उसी राशि का प्रतिनिधित्व करने की आवश्यकता है। इसके बारे में सोचने का एक तरीका यह है कि प्रत्येक स्थान में अधिक जानकारी होती है। हालांकि यह यहां दो पात्रों में से केवल एक है। यह दस वर्णों में से एक है। आपके पास जितने अधिक वर्ण होंगे, आप प्रत्येक स्थान पर उतनी ही अधिक संख्या में फिट हो सकते हैं, एक निश्चित राशि का प्रतिनिधित्व करने के लिए आपको उतने ही कम स्थान चाहिए। यह देखना सिर्फ एक दिलचस्प बात है।

लेकिन उम्मीद है कि आप खेल से बाहर हो जाएंगे जैसा आपने बेस 16 के साथ किया था जैसा मैंने किया था और यह वास्तव में मददगार है। यह वास्तव में उपयोग किया जाता है यदि आप अधिकांश वेब पेज देख रहे हैं। यदि आप वास्तव में कुछ मजेदार करना चाहते हैं, तो मैं आपको एक और देता हूं। फिर, यह बहुत विशिष्ट नहीं है। दैनिक जीवन में हम जिस संख्या प्रणाली का उपयोग करते हैं उसे दशमलव या प्रणाली कहा जाता है और एक मान का प्रतिनिधित्व करने के लिए 0 से 9 तक 10 वर्णों का उपयोग करता है।

उस। उदाहरण 1 (ऊपर देखें) को इस प्रकार लिखना अधिक सही होगा: 1 x 16 = 10h; 10h x 16 = 100h; 100h x 16 = 1000h। या इस तरह: 1h x 10h = 10h; 10h x 10h = 100h; 100h x 10h = 1000h।

हेक्साडेसिमल प्रणाली की आवश्यकता क्यों है, हम बाद के मुद्दों पर विचार करेंगे। और में इस पलहमारे नमूना कार्यक्रम के लिए, जिस पर नीचे चर्चा की जाएगी, हमें हेक्साडेसिमल संख्याओं के अस्तित्व के बारे में जानने की आवश्यकता है।

हेक्साडेसिमल का उपयोग कहाँ और क्यों किया जाता है?

कंप्यूटर में आंतरिक रूप से उपयोग किए जाने वाले अधिकांश त्रुटि कोड और अन्य मान हेक्साडेसिमल प्रारूप में होते हैं। हां, बाइनरी कुछ मामलों में बहुत आसान है, लेकिन हमारे लिए बाइनरी वाले की तुलना में हेक्साडेसिमल मानों को पढ़ना भी बहुत आसान है। हेक्साडेसिमल में गिनना आसान है यदि आपको याद है कि 16 वर्ण हैं जो संख्याओं के प्रत्येक सेट को बनाते हैं।

हेक्स मानों को मैन्युअल रूप से कैसे परिवर्तित करें

दशमलव प्रारूप में, हम सभी जानते हैं कि हम इस तरह से गिनते हैं। हालाँकि, हेक्साडेसिमल में हम सभी 16 संख्याओं को गिनते हैं। यहां कुछ जटिल हेक्स "संक्रमण" के कुछ उदाहरण दिए गए हैं जो आपको उपयोगी लग सकते हैं। हेक्साडेसिमल मान जोड़ना बहुत सरल है और वास्तव में दशमलव में संख्या गिनने की तरह काम करता है।

तो चलिए इसे समेटते हैं। हेक्साडेसिमल संख्या प्रणाली में 10 अंक (0 से 9 तक) और लैटिन वर्णमाला के 6 अक्षर (ए, बी, सी, डी, ई, एफ) होते हैं। यदि हम हेक्साडेसिमल प्रणाली में किसी संख्या के दाईं ओर शून्य जोड़ते हैं, तो यह संख्या कितनी बढ़ जाएगी16 एक बार। इस विषय को समझना बहुत जरूरी है।, क्योंकि प्रोग्राम लिखते समय हम इसका लगातार उपयोग करेंगे।

हम में से अधिकांश इसे अपने दिमाग में कर सकते हैं - यहां इसे देखने का एक तरीका है, जो मददगार है। जब तीन संख्याएँ दर्ज की जाती हैं, जैसे 123, तो हम जानते हैं कि हमें तीनों स्थानों को देखना होगा कि उनका वास्तव में क्या मतलब है। पहले दो और 3 को अभी भी हटा दें। 2 को 10 से गुणा किया जाता है क्योंकि यह संख्या में दूसरा अंक है, ठीक वैसे ही जैसे पहले उदाहरण में है। फिर से, उस 123 में से 1 लें और आपके पास 23 बचता है, जो कि 20 है। दाईं ओर से तीसरी संख्या 10 बार, दो बार ली जाती है।

इसे देखने के दो और तरीके यहां दिए गए हैं। वही सच है यदि संख्या हजारों में है, जैसे 1. आपको पहले हेक्साडेसिमल अंकों को दशमलव में बदलना होगा और फिर ऊपर दिए गए दो उदाहरणों की तरह ही संख्याओं को एक साथ जोड़ना होगा। इसके बाईं ओर की अगली संख्या को 16 से गुणा किया जाना चाहिए, जो कि ऊपर 123 से दूसरी संख्या की तरह, एक संख्या बनाने के लिए 10 से गुणा करने की आवश्यकता है।

अब थोड़ा इस बारे में कि मैं असेंबलर में उदाहरण कैसे बनाऊंगा। उन्हें HTML प्रारूप में प्रस्तुत करना बहुत सुविधाजनक नहीं है, इसलिए पहले क्रमांकित पंक्तियों के साथ प्रोग्राम कोड ही होगा, और इसके तुरंत बाद स्पष्टीकरण और नोट्स होंगे।

कमोबेश इस तरह:

पंक्तियां प्रोग्राम कोड
(1) मूव आह, 9

स्पष्टीकरण:

अंत में, दाईं ओर से तीसरी संख्या को 16 से गुणा करने की आवश्यकता है, दशमलव के रूप में दो बार, तीन अंकों के होने पर दो बार 10 से गुणा करने की आवश्यकता है। हालांकि यह जानना अच्छा है कि इसे हाथ से कैसे करना है, कैलकुलेटर या कनवर्टर के साथ हेक्साडेसिमल मानों के साथ काम करना निश्चित रूप से बहुत आसान है।

कई ऑनलाइन हेक्स कन्वर्टर्स हैं जो वास्तव में उपयोग में आसान हैं और कुछ ही हैं। एक उदाहरण हेक्साडेसिमल और बाइनरी मानों को एक साथ जोड़ना और फिर परिणाम को दशमलव प्रारूप में देखना होगा। क्योंकि दशमलव संख्या 10 को संदर्भित करता है, और हमारे पास दस अंगुलियां और दस अंगुलियां हैं, हम अपनी संख्या प्रणाली में निर्मित दसियों समूहों में संख्याओं का उपयोग करना पसंद करते हैं।

लाइन में (1) हम कुछ करते हैं, और लाइन में (15) हम कुछ करते हैं।

बहुत बड़ा अनुरोध: प्रोग्राम को पेज से क्लिपबोर्ड पर कॉपी न करें और फिर उन्हें नोटपैड (या कहीं और) में पेस्ट न करें! उन्हें टेक्स्ट एडिटर में मैन्युअल रूप से टाइप करें। यदि कोई प्रिंटर है, तो प्रोग्राम का चयन करें, चयनित टुकड़े को प्रिंट करें, और फिर कागज से संपादक को स्थानांतरित करें। सभी उदाहरण अपने आप टाइप किए जाने चाहिए!यह ऑपरेटरों के संस्मरण को गति देगा।

हम इनमें से प्रत्येक संख्या को 10 की घात के गुणकों में विभाजित कर सकते हैं। यदि आप घातांक पसंद करते हैं, जिन्हें घात भी कहा जाता है, तो आप यहां हैं। आपको गुटों के बारे में चिंता करने की ज़रूरत नहीं है। हेक्साडेसिमल दुर्भाग्य से, कंप्यूटर में 10 उंगलियां और 10 उंगलियां नहीं होती हैं। वास्तव में, उनके पास बिल्कुल भी नहीं है! इन मशीनों को बनाने वाले लोगों ने फैसला किया है कि ऐसा कंप्यूटर बनाना बहुत मुश्किल है जिसे बिल्कुल इंसानों की तरह गिना जा सके। इसलिए, इसके बजाय, कंप्यूटर बाइनरी कोड का उपयोग करते हैं, जिसे हम संक्षिप्त रूप में लिख सकते हैं - हेक्साडेसिमल।

हेक्साडेसिमल, जिसे अक्सर हेक्साडेसिमल के रूप में जाना जाता है, संख्याओं को घात के बजाय 16 की घात में समूहीकृत करने की एक विधि है। हम हेक्साडेसिमल आधार का नाम दे सकते हैं। दशमलव रूप में सबसे बड़ा अंक। उदाहरण के लिए, उन्नीस का प्रतिनिधित्व करने के लिए, मुझे नंबर एक और नंबर नौ को एक-दूसरे के बगल में रखना होगा: तो, दशमलव संख्याएं कुल दस अलग-अलग अंकों के लिए 0 से 9 अंकों का उपयोग करती हैं। लेकिन हेक्साडेसिमल संख्याओं के लिए दस अंकों से अधिक की आवश्यकता होती है। उन्हें 16 एकल अंकों की संख्या प्रकारों से मेल खाना चाहिए।

और आगे। असेंबलर में लोअरकेस और अपरकेस अक्षरों को अलग नहीं किया जाता है। प्रविष्टियां जैसे:

असेंबलर को समान रूप से माना जाता है। बेशक, आप असेंबलर को लोअरकेस और अपरकेस वर्णों के बीच अंतर करने के लिए बाध्य कर सकते हैं, लेकिन हम अभी ऐसा नहीं करेंगे। कार्यक्रम की पठनीयता के लिए, छोटे अक्षरों में स्टेटमेंट टाइप करना और बड़े अक्षरों के साथ सबरूटीन और लेबल के नाम शुरू करना सबसे अच्छा है। लेकिन यह किसी के लिए कैसे सुविधाजनक होगा।

इस समस्या को हल करने के लिए, हेक्साडेसिमल संख्याओं में कई हैं अक्षर अक्षरसंख्यात्मक अंकों के रूप में उपयोग किया जाता है। हेक्साडेसिमल संख्याएं। हेक्साडेसिमल नोटेशन अन्य मैनुअल, टेक्स्ट फाइल्स और प्रोग्राम्स में, आप आमतौर पर कई प्रकार के नोटेशन पाएंगे जो हेक्साडेसिमल नंबरों को अलग करते हैं। दशमलव संख्याएं.

यह सुनिश्चित करने के लिए कि कोई और जानता है कि आप हेक्साडेसिमल संख्याओं के बारे में बात कर रहे हैं, न कि दशमलव संख्या के बारे में, आप उपरोक्त तीन नोटेशन का उपयोग कर सकते हैं। यह पदनाम सबसे आम रूपों में से एक है। सभी नंबरों को हेक्साडेसिमल माना जाता है जब तक कि अन्यथा नोट न किया गया हो।

तो चलिए अपने पहले कार्यक्रम पर चलते हैं:

(1) सीएसईजी खंड

(2) संगठन 100h

(4) प्रारंभ करें:

(6) मूव आह, 9

(7) मूव डीएक्स, ऑफसेट मैसेज

(8) इंट 21h

(10) इंट 20h

(11)

(12) संदेश डीबी "हैलो, दुनिया!$"

(13) सीएसईजी समाप्त होता है

(14) अंत शुरू

इस उदाहरण के सभी ऑपरेटरों को समझाने के लिए, हमें कई एपिसोड की आवश्यकता होगी। इसलिए, हम इस स्तर पर कुछ आदेशों के विवरण को छोड़ देंगे। जरा सोचिए कि ऐसा ही होना चाहिए। निकट भविष्य में हम इन ऑपरेटरों पर विस्तार से विचार करेंगे। तो, संख्याओं (1), (2) और (13) वाली रेखाओं को आप आसानी से अनदेखा कर देते हैं।

पिछले लेख में, हमने बाइनरी और डेसीमल सिस्टम को देखा था। आज हम तीसरी प्राथमिकता प्रणाली के साथ काम कर रहे हैं। यह या वह भाषाविद् शायद पहले से ही जानता है: इस भुगतान प्रणाली का आधार 16 है। और अगर हम पहले से ही दोहरे और दशमलव प्रणाली के साथ थोड़ा काम करते हैं, तो तीसरी प्रणाली को सीखना बहुत मुश्किल नहीं होना चाहिए।

यदि हमारे पास बाइनरी में केवल दो अंक, 0 और 1 थे, तो हेक्साडेसिमल में 16 अंक होते हैं। लेकिन उस समय हम संख्याओं को ही संख्या के रूप में लेंगे, संख्या "12" दो संख्याओं 1 और 2 से किस प्रकार भिन्न है? यहां हटा दें, पत्र बनाएं। तो प्रत्येक अंक वास्तव में स्पष्ट रूप से पहचानने योग्य और अद्वितीय है। अन्यथा, भुगतान प्रणाली व्यवहार करती है जैसा कि ज्ञात है। केवल वर्तनी ही कुछ खास है।

पंक्तियाँ (3), (5), (9) और (11) खाली छोड़ी गई हैं। यह स्पष्टता के लिए किया जाता है। असेंबलर बस उन्हें छोड़ देगा।

अब बाकी ऑपरेटरों पर चलते हैं। लाइन (4) से प्रोग्राम कोड शुरू होता है। यह एक लेबल है जो असेंबलर को कोड शुरू करने के लिए कहता है। पंक्ति (14) में अंत शुरू (शुरू) कथन शामिल हैं।अंग्रेजी शुरू करें शुरू; समाप्त समाप्त)। यह कार्यक्रम का अंत है। सामान्य तौर पर, शब्द के बजायशुरू करना कुछ और इस्तेमाल किया जा सकता था। उदाहरण के लिए,शुरू:। इस मामले में, हमें कार्यक्रम पूरा करना होगाअंत प्रारंभ (14)।

बाइनरी और दशमलव संख्याओं को अपेक्षाकृत आसानी से पहचाना जा सकता है। यदि केवल 0 और 1 मौजूद हैं, तो उपयुक्त संदर्भ में संख्या काफी विश्वसनीय रूप से बाइनरी में लिखी जाती है। हेक्साडेसिमल और दशमलव मानों में, खतरा अधिक भ्रमित करने वाला होता है क्योंकि न केवल 2 बल्कि 10 अंक भी समान होते हैं। पर्याप्त सिद्धांत, हम एक उदाहरण के साथ फिर से शुरू करते हैं।

दशमलव संख्याओं को हेक्साडेसिमल संख्याओं में बदलना भी तेज़ है। अब हम तीनों प्रणालियों को मिलाते हैं और देखते हैं कि कंप्यूटर में इन प्रणालियों का उपयोग कैसे किया जाता है। आइए सबसे छोटी इकाई से शुरू करें: बिट। एक बिट डेटा की सबसे छोटी मात्रा है जिसे कंप्यूटर प्रोसेस कर सकता है। यह एक संख्या है, यानी 0 या कुछ बिट्स से, अब अन्य सभी संरचनाएं।

पंक्तियाँ (6) (8) संदेश प्रदर्शित करती हैं नमस्ते, विश्व!. यहां हमें प्रोसेसर रजिस्टरों के बारे में संक्षेप में बात करनी है (हम इस विषय पर अगले अंक में अधिक विस्तार से विचार करेंगे)।

एक प्रोसेसर रजिस्टर एक नंबर को स्टोर करने के लिए एक समर्पित मेमोरी है।

उदाहरण के लिए:

यदि हम दो संख्याओं को जोड़ना चाहते हैं, तो गणित में हम इस प्रकार लिखते हैं:

-255 से 255 तक की संख्याओं का प्रतिनिधित्व करने के लिए एक बाइट का उपयोग किया जा सकता है। आपको सकारात्मक और नकारात्मक के बीच अंतर करने की अनुमति देने के लिए, केवल 7 बिट्स का उपयोग अंकों के रूप में किया जा सकता है। हालांकि, कुछ मामलों में इस नियम को मूल्यों की तेजी से बढ़ती सीमा के पक्ष में उपेक्षित किया जा सकता है।

हेक्साडेसिमल प्रणाली का परिचय

हेक्साडेसिमल संख्या: रूपांतरण, वर्तनी। और अंत में, हमेशा की तरह, परिणाम। उन्हें यहां चरण दर चरण प्रस्तुत किया जाना है। ये हेक्साडेसिमल मान हमेशा हीरा # से शुरू होते हैं। इसके बाद 2 हेक्साडेसिमल वर्णों के 3 जोड़े हैं। 3 जोड़े लाल-हरे-नीले क्रम में रंग मानों का प्रतिनिधित्व करते हैं, लाल के लिए पहला, नीले रंग के लिए अंतिम। जैसा कि नाम से पता चलता है, हेक्साडेसिमल एक 16-आधारित संख्या प्रणाली है। इस प्रकार, प्रत्येक वर्ण के लिए 16 वर्ण उपलब्ध हैं।

ए, बी और सी वे एक तरह के रजिस्टर होते हैं (अगर हम कंप्यूटर की बात करें) जिसमें कुछ डेटा स्टोर किया जा सकता है। ए = 5 को इस प्रकार पढ़ा जा सकता है: A को नंबर 5 असाइन करें .

एक रजिस्टर के लिए एक मान निर्दिष्ट करने के लिए, असेंबलर में एक मूव ऑपरेटर होता है (अंग्रेजी मूव लोड से)। लाइन (6) को इस तरह पढ़ना चाहिए: रजिस्टर में अपलोड करना एएचसंख्या 9 (दूसरे शब्दों में, हम असाइन करते हैं एएच9 संख्या)।नीचे हम विचार करेंगे कि यह क्यों आवश्यक है।

प्रत्येक व्यक्तिगत रंग मान के लिए 2 अंक होते हैं, सोलह सामान्य दशमलव के समान होते हैं: यदि अधिकतम एक बिंदु पर पहुंच जाता है, तो डॉट टू डॉट 1 से बढ़ जाता है। जब एक रंग निर्दिष्ट किया जाता है हेक्स मान, मान जितना बड़ा होगा, रंग उतना ही उज्ज्वल होगा।

रंग को हेक्साडेसिमल मान के रूप में उपयोग करने का एक उदाहरण। इस मामले में, दशमलव मान 0 से 255 तक निर्दिष्ट किया जा सकता है, जिसे अल्पविराम से अलग किया जाता है। ऑर्डर हेक्साडेसिमल नोटेशन के क्रम के समान है, और निम्नलिखित भी सत्य है: जितना बड़ा मान, उतना ही उज्ज्वल रंग, 255 अधिकतम होना। एक विकल्प के रूप में, प्रतिशत डेटा भी संभव है, लेकिन यह बहुत दुर्लभ है।

लाइन (7) में हम रजिस्टर में लोड करते हैंडीएक्स आउटपुट होने वाले संदेश का पता (इस उदाहरण में यह स्ट्रिंग होगाहैलो, दुनिया!$).

भविष्य में रिलीज में रुकावटों को विस्तार से कवर किया जाएगा। यहां मैं कुछ शब्द कहूंगा।

रुकावट डालना एमएस-डॉस एक प्रकार का सबरूटीन है (का भाग एमएस डॉस), जो स्थायी रूप से मेमोरी में रहता है और किसी भी प्रोग्राम से किसी भी समय कॉल किया जा सकता है।

एक उदाहरण के साथ उपरोक्त पर विचार करें (छोटे प्रिंट में नोटों को हाइलाइट करें):

दो नंबर जोड़ने का कार्यक्रम

होम कार्यक्रम

ए = 5 चर A में हम मान 5 . दर्ज करते हैं

बी = 8 परिवर्तनीय बी मान 8 . के लिए

सबरूटीन कॉल एडिशन

अब C 13 . है

ए = 10 वही, बस अलग संख्या

बी = 25

सबरूटीन कॉल एडिशन

अब सी 35 . है

कार्यक्रम का अंत

सबरूटीन जोड़

सी = ए + बी

सबरूटीन से वापसी हम उस स्थान पर लौटते हैं जहाँ से हमने बुलाया था

सबरूटीन का अंत

इस उदाहरण में, हमने सबरूटीन को दो बार बुलाया योग, जिसने दो संख्याओं को जोड़ा है जो इसे चर में पारित कर चुके हैंए और बी . परिणाम को चर C में रखा जाता है। जब एक सबरूटीन कहा जाता है, तो कंप्यूटर याद रखता है कि उसे कहाँ से बुलाया गया था, और फिर जब सबरूटीन समाप्त हो जाता है, तो कंप्यूटर उस स्थान पर वापस आ जाता है जहाँ से उसे बुलाया गया था। उस। आप सबरूटीन्स को कहीं से भी अनिश्चित काल के लिए कॉल कर सकते हैं।

एक असेंबलर प्रोग्राम की लाइन (8) को निष्पादित करते समय, हम एक सबरूटीन (इस मामले में एक इंटरप्ट कहा जाता है) कहते हैं जो स्क्रीन पर लाइन को प्रिंट करता है। ऐसा करने के लिए, हम, वास्तव में, रजिस्टरों में आवश्यक मान डालते हैं। सभी आवश्यक कार्य (लाइन आउटपुट, कर्सर मूवमेंट) सबरूटीन द्वारा किया जाता है। इस पंक्ति को इस तरह पढ़ा जा सकता है: हम इक्कीसवीं बाधा को कहते हैं (अंग्रेजी से इंट। रुकावट डालना रुकावट डालना)। कृपया ध्यान दें कि 21 नंबर के बाद एक अक्षर हैएच . यह, जैसा कि हम पहले से ही जानते हैं, एक हेक्साडेसिमल संख्या (दशमलव में 33) है। बेशक, कुछ भी हमें लाइन को बदलने से नहीं रोकता है int 21h से int 33. कार्यक्रम सही ढंग से काम करेगा। यह सिर्फ इतना है कि असेंबलर में यह हेक्साडेसिमल में इंटरप्ट संख्या को इंगित करने के लिए प्रथागत है।

लाइन (10) में, आपने अनुमान लगाया, कॉल इंटरप्ट 20एच . इस रुकावट को कॉल करने के लिए, आपको रजिस्टरों में कोई मान निर्दिष्ट करने की आवश्यकता नहीं है। यह केवल एक कार्य करता है: कार्यक्रम से बाहर निकलना (डॉस से बाहर निकलना)। 20h के व्यवधान के परिणामस्वरूप, प्रोग्राम वहीं वापस आ जाएगा जहां इसे लॉन्च किया गया था (लोड, कॉल किया गया)। उदाहरण के लिए, मेंनॉर्टन कमांडर या डॉस नेविगेटर।

लाइन (12) में आउटपुट होने वाला संदेश है। पहला शब्द (संदेश संदेश) संदेश का नाम। यह कुछ भी हो सकता है (उदाहरण के लिए,गड़बड़ या स्ट्रिंग, आदि)। हे लाइन (7) पर ध्यान दें, जिसमें हम रजिस्टर में लोड करते हैंडीएक्स हमारे संदेश का पता।

हम एक और लाइन बना सकते हैं, जिसे हम कहेंगेमेस 2 फिर, लाइन (9) से शुरू करते हुए, निम्नलिखित कमांड डालें:

(10) मूव डीएक्स, ऑफसेट मेस 2

(13) संदेश डीबी "नमस्ते दुनिया!$"

(14) मेस2 डीबी "यह मैं हूँ! $"

और हमारे कार्यक्रम को फिर से इकट्ठा करें। मुझे आशा है कि आप अनुमान लगा रहे होंगे कि क्या होने वाला है

पंक्तियों में अंतिम वर्ण पर ध्यान देंसंदेश और Mess2 - $। यह पंक्ति के अंत की ओर इशारा करता है। अगर हम इसे हटा दें, तो 21एच इंटरप्ट तब तक आउटपुट करना जारी रखेगा जब तक कि कोई चरित्र स्मृति में कहीं नहीं मिलता है $. स्क्रीन पर हम देखेंगेकचरा ।

यदि आपके पास डिबगर है, तो आप देख सकते हैं कि हमारा प्रोग्राम कैसे काम करेगा।

इस मुद्दे का उद्देश्य समझना नहीं था प्रत्येक ऑपरेटर के साथ विस्तार से. यह असंभव है, क्योंकि आपके पास अभी तक पर्याप्त ज्ञान नहीं है। मेरा मानना ​​है कि 3-4 रिलीज के बाद आप असेंबलर में कार्यक्रम के सिद्धांत और संरचना को समझ पाएंगे। हो सकता है कि आपने सोचा हो कि असेंबली भाषा बेहद जटिल है, लेकिन मेरा विश्वास करो, एक नज़र में।

चावल। 13.1.

हेक्साडेसिमल संख्या प्रणाली हमारे लिए पहली है, जिसकी वर्णमाला में ऐसी संख्याएँ शामिल हैं जो हमेशा दशमलव के साथ वर्तनी में मेल नहीं खाती हैं - इसमें केवल छह और अंक हैं। हालांकि, इस प्रणाली की वर्णमाला, सामान्य स्थिति में, पारंपरिक (§ 2 देखें) पर विचार करने के लिए उपयुक्त है, जिसका अर्थ है कि इसमें अंजीर में दिखाए गए नंबर शामिल हैं। 13.1. "नई" संख्याओं (सामान्य दशमलव प्रणाली के संबंध में) के आगमन के साथ, उनके लिए नामों का उपयोग किया जाता है जो अभी भी अस्वीकार्य हैं। उदाहरण के लिए, हम "नंबर दस", या "नंबर चौदह" से पहले नहीं कह सकते थे (याद रखें कि आखिरकार, एक संख्या एक संकेत है - § 23 "कंप्यूटर विज्ञान का परिचय" देखें)। अब यह न केवल काफी स्वीकार्य है, बल्कि एक अलग तरीके से इन "नए" नंबरों को केवल उसी तरह कहा जा सकता है जैसे लैटिन वर्णमाला का उपयोग करने वाली भाषाओं में यह प्रथागत है।

तो ए दस है, बी ग्यारह है, सी बारह है, डी तेरह है, ई चौदह है, और अंत में एफ पंद्रह है।

चावल। 13.2.

शास्त्रीय हेक्साडेसिमल प्रणाली स्थितीय है। दूसरे शब्दों में, इसके नियमों के अनुसार निर्मित संख्याओं के संबंध में, उनके अंकों के बारे में बात करना समझ में आता है। हेक्साडेसिमल संख्याओं के अंकों को इस प्रकार कहा जाता है: इकाइयों का अंक, सोलह का अंक, दो सौ छप्पन, आदि। जैसा कि हम देख सकते हैं, वे आधार (आधार) को ऊपर उठाकर बनाई गई संख्या के नाम के अनुसार बनाए जाते हैं। ) संख्या प्रणाली से अगली शक्ति तक - संख्या 16। पूर्णांक के कुछ अंकों के नाम और एक हेक्साडेसिमल संख्या के भिन्नात्मक भाग अंजीर से दिखाई देते हैं। 13.2.

कभी-कभी हेक्साडेसिमल संख्या में आधार को इंगित करने वाला दशमलव सूचकांक नहीं होता है। इसके बजाय, लैटिन अक्षर "H" को इंगित किया जा सकता है, संख्या के अंत में रखा जा सकता है और यह दर्शाता है कि संख्या हेक्साडेसिमल रूप में लिखी गई है। यह संकेतन अक्सर कंप्यूटर विज्ञान पर पेशेवर साहित्य में प्रयोग किया जाता है। यह ध्यान में रखा जाना चाहिए कि एच एक सूचकांक प्रतिस्थापन है और अंक नहीं है! हालाँकि, यदि आप संख्या प्रणाली के वर्णमाला को देखें तो यह काफी स्वाभाविक लगता है।

    • अक्षर "H" एक संक्षिप्त नाम है अंग्रेज़ी शब्द हेक्साडिमल, जिसका मतलब है हेक्साडेसिमल (संख्या). इस शब्द के लिए आमतौर पर इस्तेमाल किया जाने वाला एक अन्य संक्षिप्त नाम "हेक्स" है, जिसका अर्थ वही है (उदाहरण के लिए, यह एक मानक अनुप्रयोग में उपयोग किया जाता है) ऑपरेटिंग सिस्टमविंडोज "कैलकुलेटर", आप इसके बारे में नंबर 1 "विंडोज ऑपरेटिंग सिस्टम के मानक अनुप्रयोग" / "प्रोग्राम" कैलकुलेटर ") में पढ़ सकते हैं।

एक अंक के साथ हेक्साडेसिमल संख्या प्रणाली एक कुतरने की सामग्री का वर्णन करती है। कोई भी दो-अंकीय हेक्साडेसिमल संख्या आसानी से एक बाइट की सामग्री का प्रतिनिधित्व करती है। इस कारण से, कंप्यूटर विज्ञान और इंजीनियरिंग विषयों में अध्ययन के तहत संख्या प्रणाली का व्यापक रूप से उपयोग किया जाता है, जिसकी भागीदारी से डिजिटल तकनीक विकसित की जा रही है।

के साथ निकटता से जुड़ा हुआ है बायनरी सिस्टमसंख्या (जैसा कि, वास्तव में, अष्टक प्रणाली), यह एक वर्ण को किसी वस्तु संपत्ति के वर्तमान मूल्य का वर्णन करने की अनुमति देता है यदि इस संपत्ति के संभावित मूल्यों की संख्या 16 है, या तार्किक गुणों के वर्तमान मूल्य हैं वस्तु, यदि इन गुणों की संख्या 4 है और वे एक दूसरे के साथ संयुक्त हैं।