Assembly Language in Hindi: एक असेम्बली भाषा एक प्रकार की निम्न-स्तरीय प्रोग्रामिंग भाषा है जिसका उद्देश्य कंप्यूटर के हार्डवेयर के साथ सीधे संवाद करना है। यह मशीनी भाषा के विपरीत, जिसमें बाइनरी और हेक्साडेसिमल वर्ण होते हैं। मौलिक रूप से, असेंबली भाषाओं को मनुष्यों द्वारा पठनीय होने के लिए डिज़ाइन किया गया है।
इस असेम्बली भाषा के लेख में, आप जानेंगे कि वास्तव में असेम्बली लैंग्वेज क्या है (What is Machine Language in Hindi)?, इसके उदाहरण, असेम्बलर क्या है?, उपयोग, यह कैसे कार्य करता है?, लाभ और हानि, आदि।
असेंबली लैंग्वेज को समझने के लिए आपको पहले: प्रोग्रामिंग भाषा क्या है, इसके प्रकार, उच्च स्तरीय और निम्न स्तरीय भाषा, Interpreter, Compiler, और मशीन भाषा क्या है को समझना होगा।
Table of Contents
असेम्बली भाषा क्या है (Introduction to Assembly Language)
असेम्बली भाषा स्टेटमेंट टेक्स्ट की एक लाइन है जो सिंगल मशीन इंस्ट्रक्शन में ट्रांसलेट होती है। असेम्बली भाषा बाइनरी निर्देशों की तुलना में अधिक मानव पठनीय रूप में व्यक्त की जाती है और स्मृति (memory) स्थानों, रजिस्टरों, संचालन (operations) आदि के लिए नामों की अनुमति है। उदाहरण के लिए: ADD [परिणाम], [पाठ्यक्रम], [परीक्षा]
- मूल रूप से, असेम्बली भाषा एक निम्न-स्तरीय प्रोग्रामिंग भाषा है। यह प्रोग्रामिंग भाषा से मशीन कोड को समझने में मदद करता है।
- असेंबली भाषा को निर्देश को समझने और इसे आगे की प्रक्रिया के लिए मशीनी भाषा प्रदान करने के लिए डिज़ाइन किया गया है।
- यह मुख्य रूप से सिस्टम के आर्किटेक्चर पर निर्भर करता है, चाहे वह ऑपरेटिंग सिस्टम हो या कंप्यूटर आर्किटेक्चर।
- असेम्बली भाषा को असेम्बलर (Assembler) का उपयोग करके मशीनी भाषा में अनुवादित किया जाना चाहिए।
आइए इसके असेम्बली भाषा के परिभाषा को आसान भाषा में समझते –
असेम्बली लैंग्वेज क्या है (Assembly Language in Hindi)
असेम्बली लैंग्वेज एक प्रकार की निम्न-स्तरीय प्रोग्रामिंग भाषा है। यह प्रोसेसर को विभिन्न कार्यों के लिए निर्देश देता है और यह किसी भी प्रोसेसर के लिए विशिष्ट है। मशीनी भाषा में केवल 0 और 1 होते हैं, इसलिए इसमें प्रोग्राम लिखना मुश्किल होता है। दूसरी ओर, असेम्बली लैंग्वेज एक मशीनी भाषा के करीब है, लेकिन इसकी एक सरल भाषा और कोड है।
मूल रूप से, असेम्बली लैंग्वेज सॉफ़्टवेयर डेवलपर या प्रोग्रामर को ऐसे शब्दों और expressions का उपयोग करके कोड करने की अनुमति देती है जिन्हें कंप्यूटर द्वारा संग्रहीत और पढ़े जाने वाले बाइनरी या हेक्साडेसिमल डेटा की तुलना में interpret और समझना आसान हो सकता है। असेम्बली भाषाएं अक्सर बिचौलियों के रूप में काम करती हैं, जो अधिक जटिल प्रोग्रामिंग भाषाओं को विकसित करने की अनुमति देती हैं, जो एक डेवलपर को और दक्षता प्रदान कर सकती हैं।
असेंबली लैंग्वेज में मुख्य रूप से mnemonic प्रोसेसर निर्देश या डेटा और अन्य स्टेटमेंट या निर्देश होते हैं। यह सी, सी++ जैसे उच्च-स्तरीय भाषा source कोड को संकलित (compile) करने की सहायता से तैयार किया जाता है।
असेम्बली लैंग्वेज को समझ लिए है तो आइए असेम्बली लैंग्वेज का उदाहरण समझते है – अब असेम्बलर का परिचय जानते है –
असेम्बली भाषा का उदाहरण (Example of Assembly language)
असेंबली भाषा के इस उदाहरण में, “1:” वह लेबल है जो कंप्यूटर को यह बताता है कि ऑपरेशन कहां से शुरू करना है।
“MOV” नंबर “3” को कंप्यूटर प्रोसेसर के एक हिस्से में स्थानांतरित करने के लिए एक स्मरणीय कमांड है, जो एक चर के रूप में कार्य कर सकता है।
“EAX,” “EBX” और “ECX” चर (variables) हैं।
कोड की पहली पंक्ति “3” को “eax.” रजिस्टर में लोड करती है।
कोड की दूसरी पंक्ति “4” को “ebx.” रजिस्टर में लोड करती है।
अंत में, कोड की अंतिम पंक्ति “eax” और “ebx” जोड़ती है और “ecx.” में जोड़ के परिणाम को संग्रहीत करती है, जो कि सात है।
कुल मिलाकर, यह असेम्बली लैंग्वेज इस तरह दिखती है:
1: MOV eax, 3
MOV ebx, 4
ADD eax, ebx, ecx
असेम्बली भाषा को उदाहरण के साथ समझ लिए है तो आइए अब असेम्बलर का परिचय जानते है –
असेम्बली भाषा के प्रकार (Types of Assembly language)
मुख्य रूप से, असेंबली (Assembly) भाषा चार प्रकार की होती है:
- RISC असेम्बली (रिड्यूस्ड इंस्ट्रक्शन-सेट कंप्यूटर)।
- DSP असेम्बली (डिजिटल सिग्नल प्रोसेसर)।
- CISC असेम्बली (कॉम्प्लेक्स इंस्ट्रक्शन सेट कंप्यूटर)।
- VLIW असेम्बली (वेरी लॉन्ग इंस्ट्रक्शन वर्ड)।
असेम्बलर क्या है (What is Assembler in Hindi)
एक असेम्बलर एक सॉफ्टवेयर है जो असेम्बली भाषा कोड को मशीन कोड में परिवर्तित करता है। यह बेसिक कंप्यूटर कमांड लेता है और उन्हें बाइनरी कोड में बदल देता है जिसका उपयोग कंप्यूटर का प्रोसेसर अपने बेसिक Operations को करने के लिए कर सकता है। ये निर्देश असेम्बलर भाषा हैं।
मूल रूप से, एक असेंबलर एक प्रोग्राम है जो बुनियादी कंप्यूटर निर्देश लेता है और उन्हें बिट्स के एक पैटर्न में परिवर्तित करता है जिसका उपयोग कंप्यूटर का प्रोसेसर अपने बुनियादी कार्यों को करने के लिए कर सकता है।
हम असेंबली भाषा के कंपाइलर के रूप में एक असेंबलर का नाम भी दे सकते हैं। ऐसा इसलिए है क्योंकि एक कंपाइलर उच्च-स्तरीय भाषा को मशीनी भाषा (link) में परिवर्तित करता है। दूसरी ओर, एक असेंबलर एक ही कार्य कर रहा है, लेकिन असेम्बली लैंग्वेज के लिए।
असेम्बलर के प्रकार (Types of Assembler in Hindi)
असेंबलर निर्देश उत्पन्न करते हैं। मशीन कोड में बदलने के लिए उपयोग किए जाने वाले कई चरणों के आधार पर, Assemblers के दो प्रकार होते हैं:
- एक-पास असेम्बलर (One-Pass Assembler)।
- मल्टी-पास/टू-पास असेम्बलर (Multi-Pass/Two-Pass Assembler)।
आइए इन दोनो प्रकार को समझते है –
असेम्बलर के प्रकार | परिचय |
---|---|
एक-पास असेम्बलर | मूल रूप से, एक-पास असेम्बलर एक ही बार में असेंबली कोड को मशीन कोड में बदलने का काम करते हैं। |
मल्टी-पास/टू-पास असेम्बलर | ये असेम्बलर पहले असेंबली कोड को प्रोसेस करते हैं और ओपकोड टेबल और सिंबल टेबल में वैल्यू स्टोर करते हैं। और फिर दूसरे चरण में, वे इन तालिकाओं का उपयोग करके मशीन कोड उत्पन्न करते हैं। |
असेम्बली भाषा की विशेषताएं (Features of Assembly)
असेंबली विशेषताएं में chamfers, sweeps, fillets, extrudes, revolves, और holes शामिल हैं। उनमें काम की विशेषताएं और उन्हें बनाने के लिए उपयोग किए गए रेखाचित्र भी शामिल हैं।
असेम्बली लैंग्वेज की मुख्य विशेषताएं नीचे उल्लिखित हैं:
- यह न्यूमेरिक ऑपरेशन कोड की तुलना में मेमोनिक का उपयोग कर सकता है, और यह कोड में किसी भी त्रुटि की जानकारी भी प्रदान करता है।
- असेंबली भाषा में, दशमलव अंकन का उपयोग करके डेटा घोषित किया जा सकता है।
- यह भाषा प्रतीकात्मक ऑपरेंड को निर्दिष्ट करने में मदद करती है जिसका अर्थ है कि उस ऑपरेंड के मशीन पते को निर्दिष्ट करने की आवश्यकता नहीं है। इसे एक प्रतीक के रूप में दर्शाया जा सकता है।
Assembly भाषा का उपयोग (uses)
असेंबली (assembly) भाषा का उपयोग सीधे हार्डवेयर में हेरफेर करने, विशेष प्रोसेसर निर्देशों तक पहुँचने या महत्वपूर्ण प्रदर्शन समस्याओं का मूल्यांकन करने के लिए किया जाता है।
मूल रूप से, इन भाषाओं का उपयोग समय-संवेदी गतिविधियों जैसे उच्च आवृत्ति व्यापार के लिए उच्च स्तरीय भाषाओं पर अपने गति लाभ का लाभ उठाने के लिए भी किया जाता है।
असेम्बली लैंग्वेज के फायदे और नुकसान
असेंबली लैंग्वेज के कुछ महत्वपूर्ण लाभ हैं और कुछ हानि भी हैं:
असेम्बली लैंग्वेज के लाभ इस प्रकार है:
- असेंबली भाषा को परिणाम प्राप्त करने के लिए कम निर्देश की आवश्यकता होती है।
- यह जटिल कार्यों को सरल तरीके से चलाने की अनुमति देता है।
- यह मेमोरी कुशल है, क्योंकि इसमें कम मेमोरी की आवश्यकता होती है।
- असेम्बली लैंग्वेज गति में तेज है, क्योंकि इसके निष्पादन का समय कम है।
- यह एक निम्न-स्तरीय एम्बेडेड सिस्टम है।
- असेंबली भाषा मुख्य रूप से हार्डवेयर-उन्मुख है और इसका उपयोग critical jobs के लिए किया जाता है।
असेम्बली लैंग्वेज के हानि (नुकसान) इस प्रकार है:
- असेंबली लैंग्वेज सिंटैक्स को याद रखना मुश्किल है।
- यह बहुत ही जटिल और समझने में कठिन है।
- असेम्बली भाषा उसी के लिए कोड लिखने में बहुत समय और मेहनत लगती है।
- इसमें विभिन्न कंप्यूटर आर्किटेक्चर के बीच प्रोग्राम की पोर्टेबिलिटी की कमी है।
- असेम्बली भाषा में लिखे गए लम्बे प्रोग्रामों को चलाने के लिए इसे कंप्यूटर के अधिक आकार या मेमोरी की आवश्यकता होती है।
असेंबली और मशीनी भाषा के बीच अंतर:
असेम्बली भाषा | मशीन भाषा |
---|---|
असेंबली भाषाएं दूसरी पीढ़ी की प्रोग्रामिंग भाषाएं हैं। | मशीनी भाषाएं पहली पीढ़ी की प्रोग्रामिंग भाषाएं हैं। |
असेम्बली भाषा में मानक निर्देश सेट शामिल हैं। | Machine भाषाएं प्लेटफॉर्म पर निर्भर हैं, और उनकी विशेषताएं तदनुसार बदलती रहती हैं। |
असेंबली भाषाओं में एक सिंटैक्स होता है जो अंग्रेजी भाषा के समान होता है; इसलिए, उन्हें प्रोग्रामर और उपयोगकर्ता समान रूप से समझ सकते हैं। | मशीनी भाषाओं में बाइनरी अंक 0s और 1s होते हैं। |
Assembly भाषाओं का उपयोग रीयल-टाइम सिस्टम और माइक्रोप्रोसेसर-आधारित अनुप्रयोगों/उपकरणों के लिए किया जाता है। | मशीनी भाषा केवल मशीन कोड के रूप में कार्य करती है। |
एक कंपाइलर, जिसे असेंबलर के रूप में भी जाना जाता है, को असेंबली लैंग्वेज कमांड के उचित निष्पादन के लिए आवश्यक है। | कमांड निष्पादित करने के लिए कोई कंपाइलर आवश्यक नहीं है। |
Assembly Language FAQs
वर्तमान में सबसे लोकप्रिय MIPS, ARM और x86 हैं। ARM का इस्तेमाल कई सेल फोन और कई एम्बेडेड सिस्टम पर किया जाता है।
मुख्य रूप से, असेम्बली भाषा एक मशीन-निर्भर प्रकार की भाषा है। एक उच्च-स्तरीय भाषा एक मशीन-स्वतंत्र प्रकार की भाषा है।
प्रोग्रामर के लिए असेम्बली लैंग्वेज सीखना अभी भी महत्वपूर्ण है। यह प्रणाली और उसके संसाधनों पर पूर्ण नियंत्रण लेने में मदद करता है। असेंबली भाषा सीखकर, प्रोग्रामर रजिस्टरों तक पहुंचने के लिए कोड लिख सकता है और pointers और वैल्यू के memory address को पुनः प्राप्त कर सकता है।
निष्कर्ष
असेम्बली लैंग्वेज सीधे हार्डवेयर से संपर्क करने में मदद करती है। यह भाषा मुख्य रूप से कंप्यूटर आर्किटेक्चर पर आधारित है, और यह एक निश्चित प्रकार के प्रोसेसर को पहचानती है और विभिन्न CPU के लिए अलग है। असेंबली भाषा अन्य उच्च स्तरीय भाषाओं की तुलना में पारदर्शिता को दर्शाती है।
इसमें संचालन की एक छोटी संख्या है, लेकिन यह एल्गोरिदम और नियंत्रण के अन्य प्रवाह को समझने में सहायक है। यह कोड को कम जटिल और आसान डिबगिंग भी बनाता है।
मुझे उम्मीद है कि यह लेख “असेम्बली लैंग्वेज क्या है“, आपको असेंबली भाषा क्या है (What is Assembly Language in Hindi)? इसका उदाहरण, असेम्बलर क्या है, और असेम्बली भाषा के लाभ और हानि आदि को समझने में मदद किया हैं।