IBM Basic assembly language and successors
आई. बी. एम. बेसिक असेंबली लैंग्वेज और सक्सेसर, आई. बी. एम. सिस्टम/360 मेनफ्रेम सिस्टम और आई. बी. एम. जेड. के माध्यम से इसके उत्तराधिकारियों के लिए बनाई गई असेंबली भाषाओं और असेंबलर की एक श्रृंखला है। इनमें से पहली, बेसिक असेंबली लैंग्वेज (बी. ए. एल.), एक अत्यंत प्रतिबंधित असेंबली भाषा है, जिसे 1964 में पेश किया गया था और इसका उपयोग 360 प्रणालियों पर केवल 8 के. बी. मुख्य मेमोरी के साथ किया जाता है, और केवल एक कार्ड रीडर, एक कार्ड पंच और इनपुट/आउटपुट के लिए एक प्रिंटर, आई. बी. एम. बेसिक प्रोग्रामिंग सपोर्ट (बी. पी. एस./360) के हिस्से के रूप में। बी. ए. एल. के लिए बेसिक असेंबलर भी बेसिक ऑपरेटिंग सिस्टम/360 (बी. ओ. एस./360) के हिस्से के रूप में उपलब्ध था। इसके बाद, सिस्टम/360 के लिए एक असेंबली भाषा दिखाई दी जिसमें अधिक शक्तिशाली विशेषताएं और उपयोगिता थी, जैसे कि मैक्रोज़ के लिए समर्थन। यह भाषा, और इसे लागू करने वाले संयोजनकर्ताओं की श्रृंखला, प्रणाली/370 और उसके बाद की संरचनाओं के लिए विकसित होती रही, जो इसके वाक्यविन्यास को विरासत में और विस्तारित करती रही। कंप्यूटर उद्योग में कुछ लोगों ने इन्हें सामान्य शब्द "बेसिक असेंबली लैंग्वेज" या "बी. ए. एल". के तहत संदर्भित किया। हालाँकि, कई लोगों ने ऐसा नहीं किया, और आईबीएम ने खुद उन्हें आमतौर पर केवल "सिस्टम/360 असेंबलर लैंग्वेज" के रूप में संदर्भित किया, किसी दिए गए ऑपरेटिंग सिस्टम या प्लेटफॉर्म के लिए "असेंबलर" के रूप में, या इसी तरह के नाम। विशिष्ट असेंबलरों को असेंबलर ई, असेंबलर एफ, असेंबलर एच आदि नामों से जाना जाता था। इस भाषा का उपयोग करने वाले प्रोग्रामर, और असेंबलर के इस परिवार, उन्हें एएलसी (असेंबली लैंग्वेज कोडिंग के लिए), या बस "असेंबलर" के रूप में भी संदर्भित करते हैं। नवीनतम व्युत्पन्न भाषा को आई. बी. एम. उच्च-स्तरीय संयोजन (एच. एल. ए. एस. एम.) के रूप में जाना जाता है। सामान्य विशेषताएँ चूंकि यह एक असेंबली भाषा है, बी. ए. एल. आई. बी. एम. मेनफ्रेम वास्तुकला के मूल निर्देश सेट का उपयोग करता है जिस पर यह चलता है, सिस्टम/360। बी. ए. एल. के उत्तराधिकारी सिस्टम/360, सिस्टम/370, सिस्टम/370-एक्स. ए., ई. एस. ए./370, ई. एस. ए./390 और जेड/आर्किटेक्चर सहित आई. बी. एम. मेनफ्रेम आर्किटेक्चर के मूल निर्देश सेट का उपयोग करते हैं, जिन पर वे चलते हैं। मशीन निर्देशों की सरलता का मतलब है कि असेंबलर में लिखे गए प्रोग्राम का स्रोत कोड आमतौर पर कोबोल या फोरट्रान में एक समकक्ष प्रोग्राम की तुलना में बहुत लंबा होगा। अतीत में, हाथ से कोडित असेंबलर कार्यक्रमों की गति को अक्सर इस कमी को पूरा करने के लिए महसूस किया जाता था, लेकिन संकलकों को अनुकूलित करने के आगमन के साथ, मुख्य फ्रेम के लिए सी, और अन्य प्रगति, असेंबलर ने अपनी अपील का अधिकांश हिस्सा खो दिया है। हालाँकि, आई. बी. एम. असेंबलर को उन्नत करना जारी रखता है, और इसका उपयोग तब भी किया जाता है जब गति या बहुत बढ़िया नियंत्रण की आवश्यकता सर्वोपरि होती है। हालाँकि, बी. ए. एल. के सभी आई. बी. एम. उत्तराधिकारियों ने एक परिष्कृत मैक्रो सुविधा शामिल की है जो बहुत अधिक संक्षिप्त स्रोत कोड लिखने की अनुमति देती है। असेंबलर का उपयोग करने का एक अन्य कारण यह है कि सभी ऑपरेटिंग सिस्टम कार्यों को उच्च स्तरीय भाषाओं में एक्सेस नहीं किया जा सकता है। आईबीएम के मेनफ्रेम ऑपरेटिंग सिस्टम के एप्लिकेशन प्रोग्राम इंटरफेस को असेंबली लैंग्वेज "मैक्रो" निर्देशों के एक समूह के रूप में परिभाषित किया गया है, जो आमतौर पर सुपरवाइजर कॉल (एसवीसी) [जैसे, जेड/ओएस पर] या डायग्नोस (डीआईएजी) [जैसे, जेड/वीएम] निर्देशों को ऑपरेटिंग सिस्टम दिनचर्या को लागू करने के लिए आह्वान करते हैं। असेंबलर सबरूटीन के उपयोग से उच्च-स्तरीय भाषाओं में लिखे गए कार्यक्रमों से ऑपरेटिंग सिस्टम सेवाओं का उपयोग करना संभव है। असेंबलर स्टेटमेंट फॉर्मेट असेंबलर लैंग्वेज स्टेटमेंट्स का प्रारूप 80-कॉलम वाले पंच्ड कार्ड के लेआउट को दर्शाता है, हालांकि क्रमिक संस्करणों ने अधिकांश प्रतिबंधों में ढील दी है। वैकल्पिक स्टेटमेंट लेबल या नाम कॉलम 1 में शुरू होने वाले स्ट्रिंग अल्फान्यूमेरिक वर्ण हैं। पहला अक्षर वर्णमाला का होना चाहिए। बाद के संस्करणों में लेबल में उपयोग किए जाने वाले कानूनी वर्णों में @, #, $और _ जोड़े गए, और आकार को प्रारंभिक छह से बढ़ाकर आठ वर्ण कर दिया गया, फिर लगभग असीमित लंबाई तक। ऑपरेशन कोड या "निमोनिक" कॉलम 1 के दाईं ओर किसी भी कॉलम में शुरू हो सकता है, जो स्टेटमेंट लेबल से एक रिक्त स्थान से अलग होता है। ऑपरेशन कोड केवल एक मशीन निर्देश होगा (मैक्रो उपलब्ध नहीं थे), जिससे यह आमतौर पर 1,2,3 या शायद ही कभी 4 अक्षरों का होता है। ऑपरेशन कोड को आठ वर्णों तक की अनुमति देने के लिए बढ़ाया गया था, फिर बाद में प्रभावी रूप से असीमित लंबाई तक। ऑपरेंड फ़ील्ड ऑपरेशन कोड के दाईं ओर किसी भी कॉलम में शुरू हो सकता है, जो ऑपरेशन कोड से कम से कम एक रिक्त स्थान से अलग हो सकता है। वर्ण स्थिरांक को छोड़कर रिक्त स्थान ऑपरेंड में अमान्य हैं। संचालन क्षेत्र, जिसमें एक या अधिक संचालन होते हैं, संचालन कोड के आधार पर वैकल्पिक होता है। वैकल्पिक टिप्पणियां ऑपरेंड फ़ील्ड के दाईं ओर दिखाई दे सकती हैं, जो कम से कम एक रिक्त स्थान से अलग होती हैं। बेसिक असेंबली लैंग्वेज कथन को जारी रखने की अनुमति नहीं देती है। असेंबलर के बाद के संस्करण बयान के कॉलम 72 में किसी भी गैर-खाली चरित्र की उपस्थिति को जारी रखने का संकेत देते हैं। बेसिक असेंबली लैंग्वेज के लिए आवश्यक है कि कॉलम 72 खाली हो। एक "पूर्ण-कार्ड टिप्पणी" कॉलम 1 में एक तारांकन चिह्न (*) द्वारा इंगित की जाती है। कार्ड कॉलम 73-80, जिसे पहचान-अनुक्रम क्षेत्र कहा जाता है, का उपयोग प्रोग्रामर द्वारा किसी भी उद्देश्य के लिए किया जा सकता है, लेकिन आमतौर पर इसमें जंबल्ड कार्ड डेक का सहारा लेने के लिए अनुक्रम संख्याएँ होती हैं। बेसिक असेंबली लैंग्वेज कॉलम 25 में शुरू होने वाले कथन के साथ एक वैकल्पिक कथन प्रारूप की भी अनुमति देती है, जिससे एकत्रित निर्देश को कॉलम 1 से शुरू होने वाले उसी कार्ड में घुसा जा सकता है। इस विकल्प को असेंबलर के बाद के संस्करणों में जारी नहीं रखा गया था। निर्देशों के प्रकार तीन मुख्य प्रकार के निर्देश असेंबलर में लिखे गए प्रोग्राम के स्रोत कोड में पाए जाते हैं। असेंबलर निर्देश, जिन्हें कभी-कभी निर्देश कहा जाता है, छद्म संचालन या अन्य प्रणालियों पर छद्म संचालन, कोड बनाने की प्रक्रिया के दौरान विभिन्न कार्यों को करने के लिए असेंबलर से अनुरोध हैं। उदाहरण के लिए, सी. एस. ई. सी. टी. का अर्थ है "यहाँ कोड का एक खंड शुरू करें"; डी. एस. ई. सी. टी. एक संरचना के लिए डेटा परिभाषाएँ प्रदान करता है, लेकिन कोई कोड उत्पन्न नहीं करता है; डी. सी. ऑब्जेक्ट कोड में रखे जाने वाले स्थिरांक को परिभाषित करता है। अधिक महत्वपूर्ण असेंबलर निर्देशों में से एक यू. एस. आई. एन. जी. है, जो एस/360 वास्तुकला के आधार-विस्थापन पते का समर्थन करता है। यह असेंबलर को यह निर्धारित करने में मार्गदर्शन करता है कि किसी सापेक्ष पते के लिए किस आधार रजिस्टर और ऑफसेट का उपयोग करना चाहिए। बी. ए. एल. में, यह यू. एस. आई. एन. जी. आधार, रेग-1,., रेग-एन. के रूप तक सीमित था एस/360 पर मशीन निर्देश पते आधार रजिस्टर में मूल्य से विस्थापन (0-4095 बाइट्स) निर्दिष्ट करते हैं; जबकि वास्तुकला के बाद के संस्करणों में सापेक्ष-पता प्रारूप जोड़े गए, पुराने प्रारूप अभी भी कई निर्देशों द्वारा उपयोग किए जाते हैं। उपयोग प्रोग्रामर को असेंबलर को यह बताने की अनुमति देता है कि निर्दिष्ट आधार रजिस्टरों में "आधार", आधार + 4096 (यदि कई रजिस्टर निर्दिष्ट हैं), आदि का पता माना जाता है। यह केवल प्रोग्रामर के लिए एक शॉर्टकट प्रदान करता है, जिसे अन्यथा प्रत्येक निर्देश में आधार रजिस्टर निर्दिष्ट करना होगा। प्रोग्रामर अभी भी इस मूल्य पर निर्भर कोड लिखने से पहले रजिस्टर में "आधार" के पते को वास्तव में लोड करने के लिए जिम्मेदार हैं। संबंधित डी. आर. ओ. पी. असेंबलर निर्देश पिछले उपयोग को रद्द कर देता है। मशीन निर्देश (स्मरणीय) मशीन निर्देशों के साथ एक-से-एक संबंध है। प्रत्येक निर्देश सेट के लिए ऑपरेशन मैनुअल के सिद्धांतों में पूर्ण स्मरणीय निर्देश सेट का वर्णन किया गया है। उदाहरण के लिएः * यह एक टिप्पणी पंक्ति है * 'ZIGGY' लेबल वाले स्थान पर संग्रहीत पूर्ण शब्द पूर्णांक को सामान्य रजिस्टर 3: L 3 में लोड करें, ZIGGY SLA 4,5 सामान्य रजिस्टर 4 में मान को 5 बिट एम. वी. सी. लक्ष्य द्वारा छोड़ दें, स्रोत वर्णों को स्थान 'स्रोत' से 'लक्ष्य' एपी देश में स्थानांतरित करें, = P '1' मेमोरी स्थान 'COUNT' (पैक किए गए दशमलव प्रारूप) में मान के लिए 1 जोड़ें 'NEXT' HERE EQU * लेबल करने के लिए अगली बिना शर्त शाखा यह एक लेबल CLC लक्ष्य है, = C 'ADDRESS' मेमोरी स्थान की तुलना करें 'TAR कुछ अन्य प्रणालियों के लिए असेंबलर के विपरीत, जैसे कि X86 असेंबली भाषा, रजिस्टर निमोनिक्स आरक्षित प्रतीक नहीं हैं, लेकिन प्रोग्राम में कहीं और EQU बयानों के माध्यम से परिभाषित किए जाते हैं। यह असेंबलर भाषा कार्यक्रमों की पठनीयता में सुधार करता है और रजिस्टर उपयोग का एक क्रॉस-संदर्भ प्रदान करता है। इस प्रकार आम तौर पर आप एक असेंबलर प्रोग्राम में निम्नलिखित देख सकते हैंः R3 EQU 3. L R3, ZIGGY कुछ उल्लेखनीय निर्देश निमोनिक्स BALR हैं जो एक कॉल के लिए रिटर्न एड्रेस और कंडीशन कोड को एक रजिस्टर, SVC, DIAG और ZAP में संग्रहीत करते हैं। सिस्टम/360 मशीन निर्देश लंबाई में एक, दो या तीन आधे शब्द (दो से 6 बाइट्स) होते हैं। मूल रूप से चार निर्देश प्रारूप थे, जिन्हें संचालन कोड क्षेत्र के पहले दो बिट्स द्वारा नामित किया गया था; जेड/आर्किटेक्चर ने अतिरिक्त प्रारूप जोड़े। मैक्रो और सशर्त असेंबली बेसिक प्रोग्रामिंग सपोर्ट असेंबलर मैक्रो का समर्थन नहीं करता था। असेंबलर डी के साथ शुरू होने वाले बाद के असेंबलर संस्करण प्रोग्रामर को मैक्रोज़ में निर्देशों को एक साथ समूहित करने और उन्हें एक पुस्तकालय में जोड़ने की अनुमति देते हैं, जिसे फिर अन्य कार्यक्रमों में, आमतौर पर मापदंडों के साथ, जैसे सी और संबंधित भाषाओं में प्रीप्रोसेसर सुविधाओं के साथ लागू किया जा सकता है। मैक्रो में सशर्त असेंबलर निर्देश शामिल हो सकते हैं, जैसे कि ए. आई. एफ. (एक 'इफ' निर्माण), जिसका उपयोग चुने गए मापदंडों के अनुसार विभिन्न कोड उत्पन्न करने के लिए किया जाता है। यह इस असेंबलर की मैक्रो सुविधा को बहुत शक्तिशाली बनाता है। जबकि सी में बहुरेखीय मैक्रो एक अपवाद हैं, असेंबलर में मैक्रो परिभाषाएँ आसानी से सैकड़ों पंक्तियाँ हो सकती हैं। ऑपरेटिंग सिस्टम मैक्रोज़ अधिकांश कार्यक्रमों को ऑपरेटिंग सिस्टम से सेवाओं की आवश्यकता होगी, और ओएस उन सेवाओं का अनुरोध करने के लिए मानक मैक्रोज़ प्रदान करता है। ये यूनिक्स सिस्टम कॉल के अनुरूप हैं। उदाहरण के लिए, एमवीएस (बाद में जेड/ओएस) में, स्टोरेज (ओबीटीएआईएन पैरामीटर के साथ) गतिशील रूप से मेमोरी के एक ब्लॉक को आवंटित करता है, और जीईटी एक फ़ाइल से अगले तार्किक रिकॉर्ड को पुनर्प्राप्त करता है। ये मैक्रो ऑपरेटिंग-सिस्टम-निर्भर हैं; कई उच्च-स्तरीय भाषाओं के विपरीत, आईबीएम मेनफ्रेम असेंबली भाषाएँ स्मृति आवंटित करने, आई/ओ संचालन करने आदि के लिए ऑपरेटिंग-सिस्टम-स्वतंत्र कथन या पुस्तकालय प्रदान नहीं करती हैं, और विभिन्न आईबीएम मेनफ्रेम ऑपरेटिंग सिस्टम सिस्टम सेवा स्तर पर संगत नहीं हैं। उदाहरण के लिए, एक अनुक्रमिक फ़ाइल लिखने को z/OS और z/VSE में अलग-अलग तरीके से कोड किया जाएगा। उदाहरण निम्नलिखित खंड से पता चलता है कि असेंबलर में "यदि सेक्स = 'एम' है, तो पुरुषों में 1 जोड़ें; अन्यथा, महिलाओं में 1 जोड़ें" का तर्क कैसे किया जाएगा। सी. एल. आई. सेक्स, सी 'एम' पुरुष? बी. एन. ई. आई. एस. एफ. ई. एम. यदि नहीं, तो एल. 7 के आसपास शाखा करें, पुरुष रजिस्टर में पुरुषों का वर्तमान मूल्य लोड करें 7 एल. ए. 7,1 (7) जोड़ें 1 एस. टी. 7, पुरुष परिणाम को वापस संग्रहीत करते हैं बी. ओ. ओ. एन. इस भाग के साथ समाप्त हो गया आई. एस. एफ. ई. एम. ई. क्यू. यू. * ए लेबल एल. 7, महिलाएँ वर्तमान मूल्य को महिलाओं में रजिस्टर में लोड करें 7 एल. ए. 7,1 (7) जोड़ें 1 एस. टी. 7, महिलाएँ परिणाम गो. ओ. एन. ई. क्यू. * वापस संग्रहीत करती हैं-शेष कार्यक्रम-पुरुषों के लिए पुरुष डी. सी. एफ. 0 'काउंटर (शुरू में = 0) महिलाएँ डी. सी. एफ. 0' महिलाओं के लिए काउंटर (शुरू में = 0) निम्नलिखित है एस. टी. एम. 14,12,12 (13) कॉल करने वाले के सेव एरिया एल. आर. 12,15 में 14,15 और 0 थ्रू 12 रजिस्टरों को सहेजें प्रोग्राम के प्रवेश बिंदु पते के साथ आधार रजिस्टर स्थापित करें HELLO का उपयोग करते हुए, 12 असेंबलर को बताएं कि हम किस रजिस्टर का उपयोग पी. जी. एम. के लिए कर रहे हैं। बेस एल. ए. 15, सेव नाउ प्वाइंट एट आवर ओन सेव एरिया एस. टी. 15,8 (13) सेट फॉरवर्ड चेन एस. टी. 13,4 (15) सेट बैक चेन एल. आर. 13,15 सेट आर. 13 नए सेव एरिया *-एंड ऑफ हाउसकीपिंग (अधिकांश कार्यक्रमों के लिए समान)-डब्ल्यू. टी. ओ. 'हैलो वर्ल्ड' राइट टू ऑपरेटर (ऑपरेटिंग सिस्टम मैक्रो) * एल. 13,4 (13) कॉलर द्वारा प्रदान किए गए सेव एरिया एक्स. सी. 8 (4,13), 8 (13) क्लियर फॉरवर्ड चेन एल. एम. 14,12,12 (13) रीस्टोर रजिस्टर ऑन एंट्री डी. आर. ओ. पी. 12 'यू. एस. आई. एन. जी.' एस. एस. आर. 15,15 के विपरीत रजिस्टर 15 से 0 सेट करें ताकि रिटर्न कोड (आर. 15) शून्य बी. आर. 14 रिटर्न हो। रजिस्टरों को सहेजने और बाद में पुनर्स्थापित करने और वापस करने के कारण, इस छोटे से प्रोग्राम का उपयोग एक बैच प्रोग्राम के रूप में किया जा सकता है जिसे सीधे ऑपरेटिंग सिस्टम जॉब कंट्रोल लैंग्वेज (जे. सी. एल.) द्वारा इस तरह से लागू किया जाता हैः// ई. एक्स. ई. सी. पी. जी. एम. = एच. ई. एल. ओ. या, वैकल्पिक रूप से, इसे इस तरह के प्रोग्राम से एक सबरूटीन के रूप में कॉल किया जा सकता हैः 'एच. ई. एल. ओ.' संस्करणों को कॉल करें आई. बी. एम. सिस्टम/360 मॉडल 20 के असेंबलर के अपवाद के साथ, आई. बी. एम. असेंबलर काफी हद तक ऊपर की ओर-संगत थे। अंतर मुख्य रूप से अनुमत अभिव्यक्तियों की जटिलता और मैक्रो प्रोसेसिंग में थे। ओएस/360 असेंबलर को मूल रूप से उनकी स्मृति आवश्यकताओं के अनुसार नामित किया गया था। बेसिक प्रोग्रामिंग सपोर्ट असेंबलर बी. पी. एस. के लिए असेंबलर सच्चा "बेसिक असेंबलर" है। इसे कार्ड से लोड करने का इरादा था और यह 8 KB सिस्टम/360 (मॉडल 20 को छोड़कर) पर चलेगा। इसमें मैक्रो निर्देशों या विस्तारित निमोनिक्स के लिए कोई समर्थन नहीं है (जैसे कि शाखा के लिए BC 2 के स्थान पर BH यदि स्थिति कोड 2 एक उच्च तुलना का संकेत देता है)। यह केवल एक नियंत्रण अनुभाग को इकट्ठा कर सकता है और नकली अनुभागों (संरचना परिभाषाओं) की अनुमति नहीं देता है। कोष्ठकबद्ध अभिव्यक्तियों की अनुमति नहीं है और अभिव्यक्तियाँ केवल '+', '-' और '*' ऑपरेटरों के साथ तीन शब्दों तक सीमित हैं। बेसिक ऑपरेटिंग सिस्टम असेंबलर बेसिक ऑपरेटिंग सिस्टम के दो असेंबलर संस्करण हैं। दोनों के लिए 16 के. बी. मेमोरी की आवश्यकता होती है, एक टेप निवासी और दूसरी डिस्क। असेंबलर डी असेंबलर डी 16 के. बी. के मेमोरी आकार वाली मशीनों के लिए डी. ओ. एस./360 असेंबलर था। यह दो संस्करणों में आयाः न्यूनतम 16 के. बी. मेमोरी वाली मशीनों के लिए 10 के. बी. संस्करण और 24 के. बी. मेमोरी वाली मशीनों के लिए 14 के. बी. संस्करण। 64 के. बी. या उससे अधिक क्षमता वाली डी. ओ. एस. मशीनों के लिए एक एफ-स्तरीय असेंबलर भी उपलब्ध था। डी असेंबलरों ने उच्च संस्करणों की लगभग सभी विशेषताओं की पेशकश की। असेंबलर ई और एफ असेंबलर ई को कम से कम 32 के. बी. मुख्य भंडारण के साथ एक ओएस/360 प्रणाली पर चलाने के लिए डिज़ाइन किया गया था, जिसमें असेंबलर को ही 15 के. बी. की आवश्यकता होती है। असेंबलर एफ 64 के. बी. मेमोरी वाले सिस्टम पर डी. ओ. एस./360 या ओ. एस./360 के तहत चल सकता है, जिसमें असेंबलर को 44 के. बी. की आवश्यकता होती है। ये असेंबलर ओएस/360 का एक मानक हिस्सा हैं; जो संस्करण उत्पन्न किया गया था वह सिस्टम पीढ़ी (एसवाईएसजीईएन) में निर्दिष्ट किया गया था। असेंबलर एच असेंबलर एच ओएस/360 और उत्तराधिकारियों पर चलता है; यह असेंबलर एफ की तुलना में तेज और अधिक शक्तिशाली था, लेकिन मैक्रो भाषा पूरी तरह से संगत नहीं थी। असेंबलर एच संस्करण 2 की घोषणा 1981 में की गई थी और इसमें ए. एम. ओ. डी. ई. और आर. एम. ओ. डी. ई. निर्देशों सहित विस्तारित वास्तुकला (एक्स. ए.) के लिए समर्थन शामिल है। 1994 में इसे विपणन से हटा लिया गया और 1995 में समर्थन समाप्त हो गया। इसका स्थान उच्च स्तरीय असेंबलर ने ले लिया। एसेम्बलर एक्स. एफ. एसेम्बलर एक्स. एफ. एसेम्बलर एफ. का ज्यादातर संगत उन्नयन है जिसमें नया सिस्टम/370 वास्तुकला निर्देश शामिल हैं। यह संस्करण ओएस/वीएस, डॉस/वीएस और वीएम प्रणालियों के लिए एक सामान्य असेंबलर प्रदान करता है। अन्य परिवर्तनों में अभिव्यक्ति और मैक्रो प्रोसेसिंग पर प्रतिबंधों में ढील देना शामिल है। असेंबलर एक्स. एफ. के लिए 64 के. बी. (आभासी) के न्यूनतम विभाजन/क्षेत्र आकार की आवश्यकता होती है। अनुशंसित आकार 128 KB है। हाई लेवल असेंबलर हाई लेवल असेंबलर या एच. एल. ए. एस. एम. को जून 1992 में आई. बी. एम. के असेंबलर एच वर्जन 2 की जगह जारी किया गया था। यह सिस्टम/370 और सिस्टम/390 के लिए डिफ़ॉल्ट अनुवादक था, और एमवीएस, वीएसई और वीएम ऑपरेटिंग सिस्टम का समर्थन करता था। 2023 तक यह जेड/आर्किटेक्चर मेनफ्रेम कंप्यूटरों पर अपने जेड/ओएस, जेड/वीएसई, जेड/वीएम और जेड/टीपीएफ ऑपरेटिंग सिस्टम के लिए आईबीएम की वर्तमान असेंबलर प्रोग्रामिंग भाषा है। रिलीज 6 और बाद में लिनक्स पर भी चलता है, और ईएलएफ या जीओएफएफ ऑब्जेक्ट फ़ाइलों को उत्पन्न करता है (इस वातावरण को कभी-कभी आईबीएम जेड पर लिनक्स के रूप में संदर्भित किया जाता है)। आई. बी. एम. में काम करते हुए, जॉन रॉबर्ट एरमैन ने एच. एल. ए. एस. एम. का निर्माण किया और प्रमुख विकासकर्ता थे और उन्हें "उच्च स्तरीय संयोजक का जनक" माना जाता है। नाम के बावजूद, एच. एल. ए. एस. एम. में अपने आप में उच्च-स्तरीय असेंबलर से जुड़ी कई विशेषताएं नहीं हैं। यह नाम अतिरिक्त स्थूल भाषा क्षमताओं से आ सकता है, जैसे कि उपयोगकर्ता-परिभाषित कार्यों को लिखने की क्षमता। एस. एल. ए. सी. (स्टैनफोर्ड लीनियर एक्सेलरेटर) संशोधनों को शामिल करते हुए असेंबलर ज्यादातर असेंबलर एच और असेंबलर (एक्स. एफ.) के समान है। जोड़ी गई विशेषताओं में स्थान काउंटर के लिए सी. एस. ई. सी. टी./डी. एस. ई. सी. टी. का संकेत, आश्रित और लेबल किए गए यू. एस. ई. सी. टी. कथन, वर्तमान में सक्रिय यू. एस. ई. सी. टी. कथन की एक सूची, एक संकेत कि क्या एक चर क्रॉस-संदर्भ में पढ़ा या लिखा गया है, और मिश्रित-केस प्रतीक नामों की अनुमति है। आर. एस. ई. सी. टी. निर्देश (केवल पढ़ने के लिए नियंत्रण अनुभाग) संयोजक को प्रति अनुभाग के आधार पर पुनः प्रवेश की जांच करने की अनुमति देता है। आर. एस. ई. सी. टी. को पहले "असेंबलर एच. में अनिर्दिष्ट और असंगत रूप से लागू किया गया था।" उच्च स्तरीय असेंबलर टूलकिट उच्च स्तरीय असेंबलर के लिए एक अलग कीमत वाली संगत है। टूलकिट में शामिल हैंः संरचित प्रोग्रामिंग मैक्रोज़ का एक समूह-IF/ELSE/ENDIF Do/ENDO STRTSRCH/ORELSE/ENDLOOOP/ENDSRCH CASENTRY/CASE/ENDCASE SELECT/WHEN/OTHRWISE/ENDSEL। एक विच्छेदनकर्ता। एक "प्रोग्राम अंडरस्टैंडिंग टूल" (री-इंजीनियरिंग सहायता)। एक स्रोत एक्स. आर. ई. एफ. उपयोगिता (पार-संदर्भ सुविधा)। इंटरैक्टिव डीबग सुविधा। उन्नत सुपरसी (स्रोत तुलना उपकरण)। आई. बी. एम. 7090/7094 समर्थन पैकेज, जिसे एस. यू. पी. पी. ए. के. के रूप में जाना जाता है, में तीन कार्यक्रम होते हैं जो एक प्रणाली 360 के लिए लिखे गए कार्यक्रमों को आई. बी. एम. 709,7090,7094, या 7094 II पर इकट्ठा करने, परीक्षण करने और निष्पादित करने की अनुमति देने के लिए डिज़ाइन किए गए होते हैं। यह क्रॉस-असेंबलर 7090 या 7094 प्रणाली पर चलता है और इसका उपयोग सिस्टम/360 के विकास के दौरान किया गया था। यह असेंबलर छह-बिट बी. सी. डी. वर्ण सेट के साथ-साथ आठ-बिट ई. बी. सी. डी. आई. सी. का समर्थन करता है। आई. बी. एम. सिस्टम/360 मॉडल 20 असेंबलर आई. बी. एम. ने मॉडल 20 के लिए दो असेंबलर की आपूर्ति कीः मॉडल 20 बेसिक असेंबलर, और मॉडल 20 डी. पी. एस./टी. पी. एस. असेंबलर। दोनों ने केवल मॉडल 20 पर उपलब्ध निर्देशों का समर्थन किया, जिसमें अद्वितीय निर्देश सी. आई. ओ., टी. आई. ओ., एक्स. आई. ओ. बी., एस. पी. एस. डब्ल्यू., बी. ए. एस., बी. ए. एस. आर. और एच. पी. आर शामिल हैं। बेसिक असेंबलर सिस्टम/360 बेसिक असेंबलर का थोड़ा अधिक प्रतिबंधित संस्करण है; विशेष रूप से, प्रतीकों की लंबाई चार वर्णों तक सीमित है। यह संस्करण 4 के. बी. मेमोरी वाले सिस्टम पर चलने में सक्षम है, और मैक्रो समर्थन आई. ओ. सी. एस. मैक्रोज़ तक सीमित है। कार्ड संस्करण दो-पास असेंबलर हैं जो केवल कार्ड इनपुट/आउटपुट का समर्थन करते हैं। टेप-निवासी संस्करण एक-पास हैं, जो मध्यवर्ती भंडारण के लिए चुंबकीय टेप का उपयोग करते हैं। सी. पी. एस. असेंबलर के साथ एकत्रित कार्यक्रम अधिकतम 16 के. बी. को संबोधित कर सकते हैं। डी. पी. एस./टी. पी. एस. असेंबलर सिस्टम/360 बी. पी. एस./बी. ओ. एस. असेंबलर का कुछ हद तक प्रतिबंधित संस्करण है। आईबीएम सिस्टम/360 मॉडल 44 पीएस असेंबलर आईबीएम सिस्टम/360 मॉडल 44 प्रोग्रामिंग सिस्टम असेंबलर एक ऐसी भाषा को संसाधित करता है जो ओएस/360 और डॉस/360 असेंबलर भाषा का "चयनित सबसेट" है। सबसे महत्वपूर्ण रूप से मॉडल 44 असेंबलर में मैक्रो और निरंतरता बयानों के लिए समर्थन का अभाव है। दूसरी ओर इसमें कई ऐसी विशेषताएं हैं जो अन्य सिस्टम/360 असेंबलर में नहीं पाई जाती हैं-विशेष रूप से एक कार्ड छवि स्रोत डेटासेट को अपडेट करने के निर्देश, जिसे सामान्य नाम दिया गया है, और एस. ई. टी. ए. असेंबलर चर की अंतर्निहित परिभाषा है। इसमें भंडारण-से-भंडारण (एस. एस.) निर्देशों या द्विआधारी (सी. वी. बी.) में परिवर्तन, दशमलव (सी. वी. डी.) में परिवर्तन, प्रत्यक्ष पढ़ने (आर. डी. डी.) और प्रत्यक्ष लिखने (डब्ल्यू. आर. डी.) निर्देशों के लिए कोई समर्थन नहीं है। इसमें मॉडल 44 के लिए अद्वितीय चार निर्देश शामिल हैंः चेंज प्रायोरिटी मास्क (सीएचपीएम), लोड पीएसडब्ल्यू स्पेशल (एलपीएसएक्स), रीड डायरेक्ट वर्ड (आरडीडीडब्ल्यू), और राइट डायरेक्ट वर्ड (डब्ल्यूआरडीडब्ल्यू)। इसमें स्रोत कार्यक्रम को अद्यतन करने के निर्देश भी शामिल हैं, एक कार्य जो अन्य प्रणालियों (एस. के. पी. टी. ओ., आर. ई. डब्ल्यू. एन. डी., एन. यू. एम., ओ. एम. आई. टी. और ए. एन. डी. यू. पी.) में उपयोगिता कार्यक्रमों द्वारा किया जाता है। आई. बी. एम. सिस्टम/360 टी. एस. एस. असेंबलर सिस्टम/360 मॉडल 67 टाइम शेयरिंग सिस्टम के लिए असेंबलर में अद्वितीय टी. एस. एस. सुविधाओं का समर्थन करने के लिए निर्देशों में कई अंतर हैं। पी. एस. ई. सी. टी. निर्देश एक प्रोटोटाइप नियंत्रण अनुभाग उत्पन्न करता है जिसमें प्रोग्राम द्वारा उपयोग किए जाने वाले स्थानांतरण योग्य पता स्थिरांक और परिवर्तनीय डेटा होते हैं। असेंबलर जी "असेंबलर जी" वाटरलू विश्वविद्यालय द्वारा 1970 के दशक में असेंबलर एफ में किए गए संशोधनों का एक समूह है (असेंबलर एफ था/खुला स्रोत है)। संवर्द्धन ज्यादातर निवेश/उत्पादन के बेहतर संचालन और बेहतर बफरिंग में होते हैं जो संयोजनों को काफी गति देते हैं। "असेंबलर जी" कभी भी आई. बी. एम. का उत्पाद नहीं था। गैर-आई. बी. एम. असेंबलर विशेष वातावरण के लिए कई आई. बी. एम.-संगत असेंबलर रहे हैं। यूनिसिस की यूनिवैक 90/60,90/70 और 90/80 श्रृंखला को IBM-प्रारूप असेंबलर को स्वीकार करने के लिए डिज़ाइन किया गया था, क्योंकि मशीन श्रृंखला S/360 और S/370 के समान थी। फुजीत्सु बी. एस. 2000 श्रृंखला को भी यूनिवैक के समान संसाधन से 370 कार्यशील के रूप में बनाया गया था, और अभी भी यूरोप के कुछ हिस्सों में उपयोग में है। डिग्नस एल. एल. सी. सिस्टम/ए. एस. एम. एक एच. एल. ए. एस. एम.-संगत असेंबलर है जो मूल रूप से आई. बी. एम. सिस्टम पर या क्रॉस-असेंबलर के रूप में चल सकता है। डॉन हिगिंस द्वारा लिखित फ्रीवेयर पीसी/370 को बाद में माइक्रो फोकस द्वारा खरीदा गया था। जेड390 एक असेंबलर और सिस्टम 390 एमुलेटर है जिसे डॉन हिगिंस द्वारा भी लिखा गया है और इसे जावा में प्रोग्राम किया गया है। यह खुला स्रोत है और http://www.z390.org पेन स्टेट यूनिवर्सिटी से उपलब्ध है जिसने ASSIST नामक एक पैकेज लिखा है, जिसमें एक सिस्टम 370 असेंबलर और दुभाषिया शामिल है। टैचियोन सॉफ्टवेयर एल. एल. सी. टैचियोन असेंबलर वर्कबेंच का विपणन करता है जो विंडोज, लिनक्स/x86, एस/390 के लिए लिनक्स और जेडसीरीज, ए. आई. एक्स. और सोलारिस पर चलता है। जीएनयू एसेम्बलर (गैस) ओएस/390 और आईबीएम जेड पर लिनक्स के लिए जीएनयू कंपाइलर कलेक्शन (जीसीसी) का हिस्सा है। इस असेंबलर का एक अनूठा वाक्यविन्यास है जो आईबीएम आर्किटेक्चर के लिए अन्य असेंबलर के साथ असंगत है। महत्व मूल रूप से सभी सिस्टम/360 ऑपरेटिंग सिस्टम असेंबलर भाषा में लिखे गए थे, और सभी सिस्टम इंटरफेस को मैक्रो परिभाषाओं द्वारा परिभाषित किया गया था। उच्च-स्तरीय भाषाओं (एच. एल. एल.) से पहुँच उस भाषा की आपूर्ति तक सीमित थी, और अन्य सिस्टम कॉल को एच. एल. एल. कार्यक्रमों से बुलाए जाने वाले असेंबलर सबरूटीन के रूप में कोड किया जाना था। इसके अलावा, आईबीएम ने एक इंस्टॉलेशन के माध्यम से ओएस सुविधाओं के अनुकूलन की अनुमति दी जिसे निकास के रूप में जाना जाता था-उपयोगकर्ता द्वारा प्रदान की गई दिनचर्या जो सामान्य ओएस कार्यों का विस्तार या परिवर्तन कर सकती थी। इन निकासों को संयोजन भाषा में कूटबद्ध करने की आवश्यकता थी। बाद में, आई. बी. एम. ने एक सिस्टम प्रोग्रामिंग भाषा, पी. एल./एस. में ओएस/360 को पुनः कोड किया, लेकिन, एक छोटे से परीक्षण को छोड़कर, उपयोगकर्ताओं के लिए पी. एल./एस. संकलक जारी नहीं करने का फैसला किया। इन कारकों के परिणामस्वरूप, असेंबलर भाषा ने कई वर्षों तक आई. बी. एम. प्रणालियों पर महत्वपूर्ण उपयोग देखा। आई. बी. एम. सिस्टम/360 ए. एस. एस. आई. एस. टी. असेंबलर पी. सी.-आधारित आई. बी. एम.-संगत मेनफ्रेम-संगत मशीनों या आभासी मशीनों की सूची डिसएसेम्बलर-असेंबली की रिवर्स प्रक्रिया, मशीन कोड से असेंबली जैसे स्रोत का पुनर्निर्माण नोट्स संदर्भ बाहरी लिंक आई. बी. एम. उच्च स्तरीय असेंबलर मैनुअल ए प्रोग्रामर का आई. बी. एम. सिस्टम/360 असेंबलर लैंग्वेज (छात्र पाठ) के लिए परिचय जेड/ओएस एंड जेड/वी. एम. एंड जेड/वी. एस. ई. भाषा संदर्भ के लिए उच्च स्तरीय असेंबलर पंक्टिलियस प्रोग्रामरः आई. बी. एम. मेनफ्रेम असेंबलर बेसिक आई. बी. एम. मेनफ्रेम असेंबली लैंग्वेज प्रोग्रामिंग ओएस/390 असेंबलर प्रोग्रामिंग इंट्रोडक्शन (संग्रहीत) वेब सक्षम आई. बी. एम. असेंबलर एफ. कंपाइलर छोटे प्रयोगों के लिए ए. एस. एस. आई.