Honeywell ARGUS
एआरजीयूएस, स्वचालित दिनचर्या उत्पादन और अद्यतन प्रणाली के लिए एक संक्षिप्त नाम, 1950 के दशक के अंत में हनीवेल द्वारा अपने हनीवेल 800 और 1800 कंप्यूटरों के लिए तैयार की गई एक असेंबली भाषा थी। अन्य असेंबली भाषाओं की तरह, एआरजीयूएस की प्रत्येक पंक्ति को एक कार्ड पर कॉपी किया गया था और मेमोरी में एक शब्द से संबंधित था, सिवाय इसके कि एक एआरजीयूएस कमांड, आरईएसईआरवीई, निर्दिष्ट स्थिति में किसी भी निर्दिष्ट संख्या में शब्दों को आरक्षित कर सकता था। आर. ई. एस. ई. आर. वी. ई. आदेश भी आरक्षित शब्दों में प्रारंभिक डेटा निर्धारित नहीं करने में असाधारण था। कुछ अपवादों के साथ मशीन भाषा के शब्दों को एआरजीयूएस पंक्तियों के समान क्रम में कूटबद्ध किया गया था। हनीवेल 800 मेमोरी द हनीवेल 800 और 1800 में एक मुख्य स्मृति और एक नियंत्रण स्मृति थी, दोनों में फेराइट कोर का उपयोग किया गया था। ग्राहक की आवश्यकताओं के आधार पर मुख्य स्मृति 4 और 16 बैंकों के बीच थी। प्रत्येक बैंक में 48 बिट के 2048 शब्द थे। एक व्यक्तिगत स्थापना में बैंकों की वास्तविक संख्या 4 की गुणक होनी चाहिए। नियंत्रण स्मृति में प्रत्येक में 16 बिट के 256 रजिस्टर थे। किसी भी समय मशीन सैद्धांतिक रूप से एक ऑपरेटिंग सिस्टम और 7 एप्लिकेशन प्रोग्राम चला सकती है, जिनमें से प्रत्येक में 32 रजिस्टरों का विशेष उपयोग होता है। एक प्रोग्राम जिसके लिए 2048 से अधिक शब्दों (डेटा और निर्देशों को मिलाकर) की आवश्यकता होती थी, उसे 2048 शब्दों या उससे कम के खंडों में विभाजित करना पड़ता था। प्रत्येक खंड में मुख्य स्मृति के एक बैंक का विशेष उपयोग होगा। एक सेगमेंट से दूसरे सेगमेंट में नियंत्रण पारित करने के लिए विशेष निर्देश थे। ए. आर. जी. यू. एस. आदेशों का लेआउट ए. आर. जी. यू. एस. आदेश की प्रत्येक पंक्ति में निम्नलिखित छह क्षेत्र थेः स्थान एक वैकल्पिक ए. आर. जी. यू. एस. नाम है जिसे स्मृति में उस शब्द को सौंपा जाना है। जब प्रत्येक शब्द का पता स्मृति में निर्दिष्ट किया जाता है, तो पंक्ति का ए. आर. जी. यू. एस. नाम उसके अनुरूप शब्द की स्थिति के साथ जोड़ा जाएगा। एआरजीयूएस की अन्य पंक्तियाँ उस नाम को संदर्भित कर सकती हैं और उनके शब्दों को सही स्मृति पता सौंपा जाएगा। कार्यक्रम के भीतर, प्रत्येक नाम अद्वितीय होना चाहिए। यह क्षेत्र आर से शुरू हो सकता है। यदि ऐसा है तो बाकी कार्ड केवल टिप्पणियाँ हैं। यह क्षेत्र X, या X, पता नाम से शुरू हो सकता है। यदि ऐसा है तो इस रेखा और किसी अन्य एक्स, रेखा को उन रेखाओं से दूर रखा जाएगा जो इतनी चिह्नित नहीं हैं। फिर उन्हें X, + n या पता क्षेत्र में पते के नाम से संबोधित किया जा सकता है। यह क्षेत्र M, मुखौटा नाम से शुरू हो सकता है। यदि ऐसा है तो पंक्ति एक मास्क ऑपरेशन को परिभाषित करती हैः एक मशीन भाषा कमांड या एक एआरजीयूएस-केवल कमांड का एआरजीयूएस नाम। यदि आवश्यक हो तो इसके बाद मास्क का पता लिखा जा सकता है। कुछ आदेशों में अतिरिक्त जानकारी थी। ए, बी और सी पतेः मशीन कोड में अनुवादित किया जाना है (नीचे देखें)। ए और बी पते आम तौर पर दो इनपुट शब्द थे और सी पता गंतव्य था। आई. डी.: आम तौर पर कार्ड पंच मशीन द्वारा कार्ड पर एक सीरियल नंबर डाला जाता है। छोड़ दिए जाने वाले किसी भी कार्ड का सहारा लेते थे। मशीन लैंग्वेज कमांड का लेआउट प्रत्येक मशीन लैंग्वेज कमांड में 48 बिट के एक शब्द का उपयोग किया जाता है। इसे 12 टुकड़ों के 4 खंडों में विभाजित किया गया था। कमांड के लिए किसी भी मास्क के ऑफसेट पते सहित सहायक जानकारी के साथ पहले 12 बिट्स ने ऑपरेशन को निर्दिष्ट किया। तीन अन्य खंड ए, बी और सी पते थे। यदि एक मास्क निर्दिष्ट किया गया था तो कमांड का अंतिम परिणाम गंतव्य तक पहुंचने से पहले उस मास्क से होकर गुजरेगा। उदाहरण के लिए, यदि मास्क का बिट 17 1 था तो परिणाम गंतव्य के बिट 17 पर जाएगा। यदि मास्क का बिट 17 0 था तो कुछ और गंतव्य के बिट 17 पर जाएगा। यह 0 हो सकता है या यह आदेश के आधार पर इनपुट शब्द का अपरिवर्तित बिट 17 हो सकता है। एक खंड को 16 मास्क तक की अनुमति दी गई थी और उन्हें लगातार शब्दों में होना था, एक पते से शुरू होता था जिसके अंतिम चार बिट्स सभी 0 थे। उन सभी के पास एआरजीयूएस स्थान के नाम थे। मास्क रजिस्टर नामक एक विशेष रजिस्टर में आधार पता था। कमांड फील्ड में नामित मास्क के ऑफसेट पते को रखने के लिए 4 बिट थे। स्मृति को संबोधित करने के तरीके अधिकांश आदेशों के लिए ए, बी और सी पता अनुभागों का उपयोग स्मृति में वास्तविक स्थानों को दर्शाने के लिए किया जाता था। संबोधित करने के छह तरीके थे। दो का उपयोग शायद ही कभी किया जाता था। शेष थेः प्रत्यक्ष, प्रत्यक्ष विशेष रजिस्टर, अप्रत्यक्ष संबोधन और अनुक्रमित। डायरेक्ट एड्रेसिंग मुख्य स्मृति पता सीधे कमांड द्वारा निर्दिष्ट किया जाता है। मशीनी भाषा में 12 बिटों में से एक प्रत्यक्ष मोड को इंगित करता है, अन्य 11 सटीक पता निर्दिष्ट करते हैं। 11 बिट 0 से 2047 तक की संख्याओं का प्रतिनिधित्व कर सकते हैं लेकिन कुछ भी बड़ा नहीं। हालाँकि यह संबोधन का सबसे कुशल प्रकार है। यही दुविधा है कि क्यों एक बैंक में केवल 2048 शब्द हैं और एक खंड केवल एक बैंक तक ही सीमित है। एआरजीयूएस कोड की एक पंक्ति में इसे लिखने के दो तरीके हैंः 1. एक नाम, जिसे पहले स्थान स्तंभ में परिभाषित किया गया था। इसमें एक संख्या (दशमलव) जोड़ी जा सकती है, जैसे। : बफर 0+59 2। वर्तमान रेखा से परे कई पंक्तियों (शब्दों) का स्थान, उदाहरण के लिए। सी, 2 का अर्थ है इससे परे की रेखा दो। 12 बिट्स में कंट्रोल मेमोरी में एक रजिस्टर के पते और पते की पहचान की जाती है। 0 और 32 के बीच एक वृद्धि भी निर्दिष्ट की गई है। मुख्य स्मृति पता नियंत्रण स्मृति में रजिस्टर में होता है। प्रोसेसर पहले रजिस्टर से मुख्य मेमोरी पता प्राप्त करेगा, फिर उस मुख्य मेमोरी पते पर शब्द के लिए कॉल करेगा। अंत में यह निर्दिष्ट राशि से रजिस्टर मूल्य में वृद्धि (वृद्धि) करेगा। रजिस्टर के 16 बिट पते में 5 बिट का उपयोग करके 0 से 31 तक का बैंक पता होता है और उस बैंक में 11 बिट का उपयोग करके एक शब्द होता है। केवल ए और बी पते के लिए वृद्धि की सिफारिश की गई थी। ए. आर. जी. यू. एस.: एन. में, आर0,3 का अर्थ है रजिस्टर आर0 का उपयोग करना और फिर इसे 3 से बढ़ाना। डायरेक्ट स्पेशल रजिस्टर एक रजिस्टर को सीधे उसी तरीके से संबोधित किया जाता है जैसे मुख्य स्मृति में एक शब्द को किया जाता है। एआरजीयूएसः जेड में, आर0,3 का अर्थ है सीधे आर0 को पंजीकृत करने के लिए पढ़ना या लिखना और फिर इसे 3 से बढ़ाना। लिखते समय वृद्धि की अनुशंसा नहीं की जाती है। अनुक्रमित पता लगाना यह केवल 8 रजिस्टरों पर लागू होता है, जिन्हें सूचकांक रजिस्टर कहा जाता है। सूचकांक रजिस्टर को निर्दिष्ट करने के लिए 3 बिट और 0 से 127 के ऑफसेट को निर्दिष्ट करने के लिए अन्य 7 बिट लगते हैं। इसलिए ऑफसेट को एक पूर्ण लंबाई के मुख्य स्मृति पते में जोड़ा जाता है। यह एक शक्तिशाली उपकरण है। यह एक बहुशब्द पाठ या रिकॉर्ड को संसाधित करने के लिए सहायक है। टेप बफ़र्स को आमतौर पर इस तरह से संबोधित किया जाता है। ए. आर. जी. यू. एस.: एक्स0,35 या 0,35 का अर्थ है सूचकांक रजिस्टर 0 का उपयोग करना, उस संख्या को 35 (दशमलव) तक बढ़ाना और मुख्य स्मृति में उस स्थान से पढ़ना या लिखना। X0 में मान न बदलें। निष्क्रिय पता ए. आर. जी. यू. एस. में, पता क्षेत्र एक डैश (-) था। इसका मतलब था कि क्षेत्र को प्रोसेसर द्वारा नजरअंदाज कर दिया जाएगा, जिससे कमांड की सामान्य कार्रवाई का हिस्सा समाप्त हो जाएगा। रजिस्टर्स जैसा कि उल्लेख किया गया है, कार्यक्रम में 32 रजिस्टर्स तक पहुंच थी। 8 के विशेष कार्य थे, 16 रजिस्टर (आर0 से आर15) सामान्य उद्देश्य के थे और 8 (एक्स0 से एक्स7) सूचकांक रजिस्टर थे। सूचकांक का पता लगाना केवल सूचकांक रजिस्टरों के लिए ही संभव था। प्रत्यक्ष और अप्रत्यक्ष संबोधन सामान्य उद्देश्य और सूचकांक रजिस्टर दोनों पर लागू थे। वे शायद अन्य रजिस्टरों के साथ भी काम करेंगे लेकिन यह बुरी प्रथा होगी। विशेष रजिस्टर थेः एससी (अनुक्रम काउंटर) एसएच (अनुक्रम इतिहास) सीएससी (अनुक्रम काउंटर) सीएसएच (अनुक्रम इतिहास) एमएसके (मास्क रजिस्टर) एयू1 और एयू2 जिनका उपयोग कंप्यूटर द्वारा कार्यक्रम को निष्पादित करने के लिए किया गया था। संचालन में, अनुक्रम काउंटर में हमेशा उस कमांड का पूरा पता होता था जो चल रहा था। आम तौर पर आदेशों को स्थान क्रम में निष्पादित किया जाता था। अनुक्रम इतिहास में अनुक्रम काउंटर का अंतिम मूल्य था। इस मूल्य को सबरूटीन में कूदने के तुरंत बाद संग्रहीत किया जाना था। अन्यथा वापस आना असंभव होगा। कोसेक्वेन्स काउंटर और हिस्ट्री ने अपने एआरजीयूएस स्थान की शुरुआत में एक्स वाले किसी भी कमांड के लिए समान कार्य किए। एम. एस. के. रजिस्टर में पहले मास्क का पूरा स्थान था (नीचे देखें)। ए. यू. 1 और ए. यू. 2 का उपयोग आंतरिक रूप से कुछ आदेशों, विशेष रूप से टी. एन. द्वारा किया गया था। इनका उपयोग कार्यक्रमों द्वारा भी किया जा सकता है। हालांकि, एक जोखिम था कि एक आंतरिक ऑपरेशन हस्तक्षेप कर सकता है इसलिए यह एक बुद्धिमान विकल्प नहीं था। प्रत्येक ए. आर. जी. यू. एस. पंक्ति स्मृति में एक शब्द को परिभाषित करती है। सामान्य संचालन में प्रोसेसर प्रत्येक कमांड को पते के क्रम में निष्पादित करता है। कुछ आदेश एक जे. यू. एम. पी. को दूसरे पते पर ऑर्डर कर सकते हैं (उसी बैंक में सीधे संबोधित करके)। अंकगणितीय आदेश डब्ल्यू. ए., बी. ए. और डी. ए., अलग-अलग तरीकों से, सभी पते ए और बी से संख्याएँ प्राप्त करते हैं, उन्हें एक साथ जोड़ते हैं और परिणाम को पते सी में डालते हैं। आदेश बी. एस. और डी. एस. दोनों पते ए में संख्या से पते बी में संख्या को घटाते हैं, परिणाम को पते सी में रखते हैं। डब्ल्यू. ए. (वर्ड ऐड) दो इनपुट संख्याओं को द्विआधारी संख्या के रूप में मानता है जिसमें कोई संकेत नहीं होता है। इसका उपयोग अक्सर एक ज्ञात पते में वृद्धि जोड़ने के लिए किया जाता था। बीए और बीएस (बाइनरी ऐड और बाइनरी सबट्रैक्ट) दो इनपुट संख्याओं को हस्ताक्षरित बाइनरी मानते हैं। डी. ए. और डी. एस. (दशमलव जोड़ और दशमलव घटाव) दो इनपुट संख्याओं को हस्ताक्षरित दशमलव मानते हैं। सबसे बाएँ चार बिट संकेत को परिभाषित करते हैं। यदि वे सभी शून्य हैं तो संकेत सकारात्मक है। अन्यथा यह नकारात्मक है। कमांड डीएम पते बी में संख्या को पते ए में संख्या से गुणा करता है, परिणाम के बाएं आधे हिस्से को पते सी में रखता है। शेष निचले अंकों को एलओपी, लो आउटपुट रजिस्टर में छोड़ दिया जाता है। उन्हें वहाँ से टीएक्स या टीएस कमांड द्वारा मुख्य स्मृति पते पर स्थानांतरित किया जा सकता है। डी. एम. पूरी तरह से फ्लोटिंग पॉइंट एडेप्टर द्वारा समर्थित है। इसकी अनुपस्थिति में, अनुकरण की आवश्यकता होती है। डेटा ट्रांसफर और प्रोग्राम कंट्रोल TX ट्रांसफर पते A से पते C में. पते B को निष्क्रिय होना चाहिए (पते के तरीके देखें) टी. एस. पते A से पते B में स्थानांतरण फिर क्रम से बाहर JUMP से पते C. C पर कमांड में स्थानांतरण एक सीधा पता होना चाहिए। वैकल्पिक रूप से ए और बी निष्क्रिय हो सकते हैं और कमांड एक शुद्ध कूद बन जाता है। यह उस मशीन के सबसे करीब है जो एक जी. ओ. टी. ओ. कमांड तक पहुँचती है। एम. टी. कई बार ए पते से सी पते पर स्थानांतरित करें। समय की संख्या को पता क्षेत्र बी में दशमलव संख्या के रूप में निर्दिष्ट किया गया है। यह संख्या सही पता नहीं है। यह द्विआधारी में परिवर्तित हो जाता है और मशीन भाषा कमांड के संचालन अनुभाग में स्थित होता है। इसलिए मूल्य बड़ा नहीं हो सकता है। पता सी एक या अधिक की वृद्धि के साथ अप्रत्यक्ष होना चाहिए ताकि प्रत्येक व्यक्तिगत स्थानांतरण एक अलग शब्द पर काम करे। इस कमांड का उपयोग एप्लिकेशन प्रोग्रामिंग के मेरे अनुभव में शायद ही कभी किया गया था। हालाँकि यह ऑपरेटिंग सिस्टम और संकलकों में अधिक उपयोगी हो सकता है। टी. एन. पता ए से पता सी में स्थानांतरण. फिर ए + 1 से सी + 1 में स्थानांतरण। पता बी में निर्दिष्ट समय की संख्या के लिए कुल मिलाकर जारी रखें। जहाँ तक एम. टी. की बात है, यह एक दशमलव संख्या है जो मशीन कमांड के संचालन खंड में द्विआधारी में समाप्त होती है। इस कमांड का उपयोग अक्सर अनुप्रयोगों में किया जाता था, विशेष रूप से पाठ के क्षेत्रों को खाली करने के लिए। यह कमांड पता वृद्धि का प्रबंधन करने के लिए ए. यू. 1 और ए. यू. 2 रजिस्टर का उपयोग करता है। एनए पते ए और बी की तुलना करें। यदि समान हो तो सामान्य रूप से जारी रखें। यदि सी. एल. ए. को संबोधित करने के लिए असमान जे. यू. एम. पी. पते ए और बी की तुलना करें। यदि ए (अहस्ताक्षरित द्विआधारी के रूप में) बी से कम या बराबर है तो सामान्य रूप से जारी रखें। अन्यथा जे. यू. एम. पी. से सी. काउंटर वाले लूप के लिए, एल. ए. एन. ए. से अधिक सुरक्षित है। यदि तर्क भटक जाता है तो एक एन. ए. लूप भाग सकता है। पीआर आगे बढ़ें। यह एक "कुछ मत करो" आदेश था जिसमें फिर भी कुछ समय लगेगा। तीनों पते निष्क्रिय होंगे। इसका उपयोग लूप में ऑपरेटर को याद दिलाने से पहले कुछ कार्रवाई करने की प्रतीक्षा करने के लिए किया जा सकता है। स्थिरांक और प्रारंभिक मूल्य परिभाषा ये ए. आर. जी. यू. एस. आदेश थे जिनका स्मृति में किसी पते के द्विआधारी में प्रारंभिक मूल्य में अनुवाद किया जाना था। वास्तविक मूल्य पता ए में जाएगा, जब तक आवश्यक हो, पता बी और सी में जारी रहेगा। इनमें से अधिकांश पंक्तियाँ स्थिरांक के रूप में उपयोग के लिए थीं और सक्रिय आदेशों द्वारा संदर्भ के लिए एक स्थान कोड होगा। ओ. सी. टी. छिद्रित अक्षर या संख्या का अनुवाद तीन बिट ऑक्टल कोड में किया जाता है। तो 0,000 हो जाता है, 1,001 हो जाता है, 2,010 हो जाता है और 7,111 हो जाता है। एच. ई. एक्स. छिद्रित अक्षर या संख्या का अनुवाद चार बिट हेक्साडेसिमल कोड में किया जाता है। 0 0000 हो जाता है, 1 0001 हो जाता है, 9 1001 हो जाता है। फिर बी से जी दशमलव 10 से 15 को दर्शाता है, जो द्विआधारी में 1010 से 1111 है। हनीवेल हेक्साडेसिमल कोड ने बी से जी का उपयोग किया जहां आईबीएम ने ए से एफ का उपयोग किया। डीईसी मुक्का वाले अक्षर या संख्या का अनुवाद चार बिट दशमलव कोड में किया जाता है। यह हेक्साडेसिमल की तरह है सिवाय इसके कि केवल 0 से 9 मान्य हैं। ए. एल. एफ. छिद्रित अक्षर या संख्या का अनुवाद वर्णानुक्रमिक संख्याओं, अक्षरों और प्रतीकों के लिए हनीवेल के अपने द्विआधारी कोड के अनुसार किया जाता है। एम, एक्स, पाठ और एक्स की अलग-अलग प्रविष्टियाँ, प्रत्येक पता क्षेत्र में पाठ। यहाँ, x ओ, एच, डी, या ए हो सकता है जो शब्द के प्रत्येक 12 बिट खंड को उपरोक्त किसी भी विधि का उपयोग करके कूटबद्ध करने की अनुमति देता है। ओ. सी. टी., एच. ई. एक्स. और डी. ई. सी. के लिए, संख्या के संकेत को दर्शाने के लिए सबसे बाएं 4 बिट का उपयोग किया जाता है। मास्क और स्विच कमांड एक मास्क M, मुखौटा नाम की स्थान प्रविष्टि के साथ एक स्थिरांक था। ए. आर. जी. यू. एस. में सभी मास्कों को एक साथ रखना अच्छी प्रथा थी। किसी भी मामले में एआरजीयूएस उन्हें लगातार शब्दों में एक साथ रखेगा। मास्क की अधिकतम संख्या 15 थी। मास्क का उपयोग किसी भी कमांड की कार्रवाई को संशोधित करने के लिए किया जा सकता है जो किसी शब्द के मूल्य को बदल सकता है, उदाहरण के लिएः TX, मास्कनाम मास्क "मास्कनाम" को TX कमांड पर लागू करेगा। स्विच वर्ड कमांड के लिए मास्किंग आवश्यक था लेकिन अन्य कमांड के लिए बहुत मूल्यवान नहीं था। कुछ संस्थापनाओं में केवल स्विच वर्ड के लिए उनका उपयोग करने के लिए एक मानक था। पहले मास्क का पूरा पता एमएसके रजिस्टर में रखा जाएगा और एक व्यक्तिगत मास्क के ऑफसेट को मशीन लैंग्वेज कमांड के कमांड सेक्शन में रखा जाएगा जिसके लिए इसे निर्दिष्ट किया गया था। नतीजतन, एक कार्यक्रम की आवश्यकता थी और इसमें मास्क का केवल एक सेट था और उनका उपयोग किसी भी खंड से किया जा सकता था। स्विच वर्ड कमांड का उपयोग शब्द में कुछ बिट्स को अन्य बिट स्थितियों में ले जाने के लिए किया जाता था। दो स्विच वर्ड कमांड थे और वे बहुत समान थे। स्विच वर्ड एंड एक्सट्रैक्ट में एक एआरजीयूएस कमांड थीः एसडब्ल्यूई, मास्कनेम, ए पता स्रोत था और सी पता गंतव्य था। बी पता क्षेत्र स्विच की मात्रा के लिए थाः x, n, d। x बी, डी या ए था जो द्विआधारी, दशमलव या वर्णानुक्रम का प्रतिनिधित्व करता था, अर्थात। क्रमशः 1,4 या 6 बिट की इकाइयाँ। d बाएँ या दाएँ के लिए L या R था। संचालन मेंः शब्द पते ए से प्राप्त किया गया था बिट्स को इकाई निर्दिष्ट बिट्स की संख्या और आकार द्वारा बाएँ या दाएँ स्थानांतरित किया गया था जो "गिर गए" अंत को विपरीत छोर में वापस डाल दिया गया था स्थानांतरित शब्द को मास्क बिट से बिट द्वारा पारित किया गया था। यदि मास्क बिट 1 था तो स्थानांतरित बिट को कॉपी किया जाएगा। अन्यथा एक 0 बिट पारित किया जाएगा। संशोधित शब्द को पते सी में रखा गया था अन्य स्विच वर्ड कमांड स्विच वर्ड और सुपरइम्पोज़, एसडब्ल्यूएस, एक ही वाक्यविन्यास के साथ था। मास्क चरण में कार्रवाई अलग थी। यदि मास्क बिट 0 था तो स्थानांतरित बिट के बजाय अनशिफ्टेड को आउटपुट शब्द में रखा गया था। 1 के मास्क बिट के लिए क्रिया एस. डब्ल्यू. ई. के समान थी। उदाहरण पता ए में 6 बिट के 8 वर्ण होते हैंः ए. बी. सी. डी. ई. एफ. जी. एच. मास्क ओ. एन. ई. सी. ए. आर. में इसके दाईं ओर 1 होता है-सबसे अधिक 6 बिट और कहीं और 0। कमांड हैः एस. डब्ल्यू. ई., ओ. एन. ई. सी. ए. ए., 4, आर. सी. फिर पता सी में होगाः 0000000 डी. यदि कमांड हैः एस. डब्ल्यू. एस., ओ. एन. ई. सी. ए. ए., 4, आर. सी. तो पता सी में होगाः मशीन भाषा में ए. बी. सी. डी. ई. एफ. जी. डी. सभी शिफ्टों को बाइनरी राइट के रूप में दर्शाया गया था। x, n, d प्रारूप में सभी ए. आर. जी. यू. एस. कोड को बाइनरी राइट में घटाया जा सकता है। मैक्रो और सबरूटिन एक मैक्रो को इस प्रकार कहा जाएगाः L $, मैक्रोनाम यह असेंबलर से उस समय मैक्रो "मैक्रोनाम" का एआरजीयूएस पाठ डालने का अनुरोध करेगा। एआरजीयूएस को मशीन कोड में अनुवादित करने से पहले यह असेंबली के प्रारंभिक चरण के दौरान किया गया था। मानक पुस्तकालय में कुछ मैक्रो थे (अपने स्वयं के टेप पर आयोजित) और ग्राहक और अधिक जोड़ सकते थे। मैक्रो जी. ई. टी. और पी. यू. टी. इनपुट टेप बफर से एक वस्तु प्राप्त करते हैं या किसी वस्तु को आउटपुट टेप बफर में डालते हैं, रिकॉर्ड को पढ़ते हैं या लिखते हैं। दो प्रकार के सबरूटीन थे। एक पूरी तरह से एआरजीयूएस में लिखा गया था। सबरूटीन एस. यू. बी. ए. का उपयोग करते हुए यहाँ एक उदाहरण दिया गया हैः दूसरे प्रकार के सबरूटीन को मैक्रो रैपर के साथ मशीन भाषा में वितरित किया गया था। यह आम तौर पर हनीवेल के कर्मचारियों द्वारा लिखा गया था। मैक्रो ने सबरूटीन को कॉल करने के लिए जी. ओ. एस. यू. बी. कमांड का उपयोग किया। द हनीवेल 1800 में वैज्ञानिक कंप्यूटिंग के लिए एक वैकल्पिक फ्लोटिंग पॉइंट एडेप्टर था। इसके लिए आदेशों का एक समूह था। ये आदेश अनुकरण रूप में भी उपलब्ध थे यदि हार्डवेयर में एडाप्टर शामिल नहीं था, लेकिन नियमित उपयोग के लिए इसकी अनुशंसा नहीं की गई थी। ए. आर. जी. यू. एस. फ्लोटिंग पॉइंट कमांड समान थे, भले ही कोई एडाप्टर हो। इसकी अनुपस्थिति में, एआरजीयूएस वास्तविक फ्लोटिंग पॉइंट ऑपरेशन का एक मशीन भाषा अनुकरण प्रदान करेगा। मशीन स्तर पर परिधीय इनपुट/आउटपुट नियंत्रण इनपुट और आउटपुट उपकरण पते दो अष्टक अंक 0-7 थे। एआरजीयूएस स्तर पर यह दो अक्षर ए-जी थे। पहले अंकों ने नियंत्रक की पहचान की, दूसरे अंक ने उस नियंत्रक पर उपकरण संख्या की पहचान की। टेप प्रोसेसिंग के लिए, टेप पर डेटा की एक इकाई को हनीवेल मैनुअल में एक रिकॉर्ड कहा जाता था। आईबीएम ने कॉल किया, और अभी भी कॉल करता है, यह एक ब्लॉक है। अभिलेख के उपखंड को वस्तु कहा जाता था। आईबीएम ने इसे एक रिकॉर्ड बताया। आईबीएम की शब्दावली अमेरिकी मानक बन गई। आदेशः आर. डब्ल्यू., ए. ए. आदेश टेप इकाई ए. ए., ऑक्टल 00 पर टेप को रिवाइंड करेगा। आर. एफ., ए. ए. आदेश टेप इकाई ए. ए., ऑक्टल 00 पर अगले रिकॉर्ड को पढ़ेगा। आदेश आरबी, एए, डेटा वितरित किए बिना टेप इकाई एए, ऑक्टल 00 पर पिछले रिकॉर्ड पर वापस पढ़ लेगा। एक मौजूदा टेप को संशोधित करने के लिए, आप आर. एफ. का उपयोग पहले रिकॉर्ड को खोजने के लिए कर सकते हैं जो आप नहीं चाहते थे, फिर आर. बी. को उससे पहले की जगह तक पहुंचने के लिए, फिर डब्ल्यू. एफ. को उस पर और उसके बाद लिखने के लिए। डब्ल्यू. एफ., ए. बी. आदेश टेप इकाई ए. बी., ऑक्टल 1 पर अगला रिकॉर्ड लिखेगा। आर. एफ., जी. ए. आदेश कार्ड रीडर, उपकरण जी. ए., ऑक्टल 70 पर अगले कार्ड को पढ़ेगा। ए पता उस पढ़ने या लिखने के कार्य के लिए बफर में पहला शब्द होगा। प्रत्येक उपकरण के लिए दो बफर का उपयोग करना सामान्य था ताकि पढ़ना या लिखना प्रसंस्करण के समानांतर चल सके। इसे डबल-बफरिंग कहा जाता है। "रिकॉर्ड" (ब्लॉक) के आकार में बफर का आकार एक सीमित कारक था क्योंकि मुख्य स्मृति सीमित थी। टेप पर रिकॉर्ड लिखने की तैयारी करते समय, प्रत्येक वस्तु को एक निर्धारित कोड के साथ वस्तु के अंत शब्द द्वारा समाप्त कर दिया गया था। प्रत्येक रिकॉर्ड को त्रुटि जाँच के लिए एक ऑर्थो शब्द द्वारा समाप्त किया गया था जिसके बाद एक एंड ऑफ रिकॉर्ड शब्द था। आउटपुट बफर को वस्तुओं से भरने के बाद कंप्यूट ऑर्थो (सी. सी.) कमांड का उपयोग ऑर्थो शब्द की गणना करने और एंड ऑफ रिकॉर्ड शब्द प्रदान करने के लिए किया गया था। कम्प्यूट ऑर्थो कमांड के लिए पते ए और बी पहले और अंतिम शब्द की स्थिति को चिह्नित करते हैं। इसके बाद, रिकॉर्ड डब्ल्यू. एफ. कमांड द्वारा लिखा जाएगा। अंत में नियंत्रण मुख्य कार्यक्रम को वापस कर दिया जाएगा। सामान्य अनुप्रयोग कार्य के लिए शायद आर. डब्ल्यू. को छोड़कर सभी परिधीय आदेशों को एक सबरूटीन में रखा जाएगा। कार्यक्रम प्रशासन आदेश कार्यक्रमों के प्रशासन से निपटने के लिए ए. आर. जी. यू. एस. आदेश थे। एक कार्यक्रम को इकट्ठा करने के लिए निम्नलिखित की आवश्यकता थीः सभी आवश्यक परिवर्तनों के लिए एआरजीयूएस कोड वाले कार्डों का एक डेक। स्थापना में सभी ए. आर. जी. यू. एस. कार्यक्रमों वाली एक इनपुट टेप। सभी नए ए. आर. जी. यू. एस. कार्यक्रमों और पुराने कार्यक्रमों के सभी संशोधनों को शामिल करने के लिए एक आउटपुट स्क्रैच टेप। एक इनपुट टेप जिसमें स्थापना के समय सभी मशीन भाषा कार्यक्रम होते हैं। सभी मशीन भाषा कार्यक्रमों को शामिल करने के लिए एक इनपुट टेप-अपरिवर्तित, नया या फिर से जोड़ा गया। एक इनपुट टेप जिसमें मैक्रोज़ का एक पुस्तकालय होता है। इन मैक्रो को असेंबली के दौरान और मशीन कोड में अनुवाद से पहले एआरजीयूएस कोड में जोड़ा जाएगा। कार्ड छवियों को क्रमबद्ध करने के लिए एक या अधिक खरोंच टेप। प्रत्येक कार्यक्रम के लिए बहुत कम प्रशासनिक आदेशों की आवश्यकता थी जिसे बनाया या बदला जाना था। यू, एन. ई. डब्ल्यू. पी. आर. ओ. जी. क्रमनाम निम्नलिखित कार्ड एक पूर्ण, नए क्रमादेश के लिए होते हैं जिसे क्रमनाम कहा जाता है। यू, आर. ई. ए. एस. एस. एम. बी. क्रमनाम इसके बाद आने वाले कार्ड मौजूदा कार्यक्रम क्रमनाम के संशोधन हैं। यू, एन. ई. डब्ल्यू. एस. ई. जी. अग्रनाम संकेत जो कार्ड आते हैं वे एक पूर्ण, नए खंड हैं जिन्हें (नए या मौजूदा) कार्यक्रम का संकेत नाम कहा जाता है जिसे संकेत नाम कहा जाता है। यू, एस. ई. जी. एम. ई. एन. टी. अग्रनाम एस. ई. जी. एम. ई. एन. टी. का अनुसरण करने वाले कार्ड प्रोग्राम अग्रनाम के खंड एस. ई. जी. एन. एम. के लिए संशोधन हैं। यू, एंडसेग यह खंड (या इसके संशोधन) का अंत है। यू, ई. एन. डी. पी. आर. ओ. जी. यह कार्यक्रम का अंत है (या इसके संशोधन)। यह भी देखें प्रोग्रामिंग भाषाओं का इतिहास (सम्मेलन) संदर्भ बाहरी लिंक एशर ओपलर और मायरा ग्रे, (1961), एक बहु-क्रमादेशित बीजगणितीय संकलक का डिजाइन (केवल सदस्यता) स्वचालित नियमित उत्पादन और अद्यतन प्रणाली। एच. ओ. पी. एल. सेः प्रोग्रामिंग भाषाओं की एक संवादात्मक सूची। विधानसभा भाषाएँ हनीवेल संख्यात्मक प्रोग्रामिंग भाषाएँ