City & Guilds Mnemonic Code
सिटी एंड गिल्ड्स नेमोनिक कोड और इससे जुड़े सिटी एंड गिल्ड्स कंप्यूटर एक असेंबलर भाषा और एक आभासी कंप्यूटर प्रणाली के लिए एक विनिर्देश था जो इसे चलाता था। इसे 1964 में सिटी एंड गिल्ड्स ऑफ लंदन इंस्टीट्यूट द्वारा पेश किया गया था और इसका उपयोग कई कंप्यूटर प्रोग्रामिंग और प्रशासन पाठ्यक्रमों के आधार के रूप में किया गया था। कंप्यूटर मॉडल जानबूझकर बहुत सरल था, और परिचालन प्रणालियों को ICL 1900 श्रृंखला और इलियट 900 परिवार जैसे कई मेनफ्रेम कंप्यूटरों पर दुभाषियों के रूप में लागू किया गया था। 1968 में एक अद्यतन संस्करण जारी किया गया था। द सिटी एंड गिल्ड ऑफ लंदन इंस्टीट्यूट (सी एंड जी) 19वीं शताब्दी के उत्तरार्ध से विभिन्न प्रकार के व्यावसायिक और प्रशिक्षुता कार्यक्रमों की पेशकश कर रहा है। 1960 के दशक की शुरुआत में, पहली कंप्यूटर प्रणाली बड़ी कंपनियों में तेजी से फैलने लगी थी, और सी एंड जी ने कंप्यूटर संचालन और प्रोग्रामिंग पर कार्यक्रमों की एक श्रृंखला शुरू करने का फैसला किया। सिटी एंड गिल्ड्स नेमोनिक कोड ने एक नई असेंबलर भाषा पेश करके प्लेटफार्मों में व्यापक असंगतता की समस्या को संबोधित किया, जिसे तब किसी भी पर्याप्त शक्तिशाली मंच पर एक आभासी मशीन में व्याख्या की जा सकती थी। इस प्रणाली को जानबूझकर सरल बनाया गया था ताकि ऐसी मशीनों की संख्या बनाई जा सके जो इसे यथासंभव बड़ा चला सकें। इसने कई ऐसी विशेषताओं को भी जोड़ा जिन्हें आम तौर पर असेंबलर के साथ नहीं जोड़ा जाता है, जिसमें मानक डेटा प्रारूप फ्लोटिंग पॉइंट है और जिसमें उन्नत गणित और स्ट्रिंग हैंडलिंग के लिए कई सुविधाएँ शामिल हैं जो आम तौर पर बेसिक जैसी उच्च स्तरीय भाषा में अपेक्षित होती हैं। पहला विमोचन 1964 में हुआ था, और इसका उपयोग दो पाठ्यक्रमों, कंप्यूटर कार्मिक के लिए बुनियादी और उन्नत प्रमाणपत्रों में किया गया था। इस प्रणाली को 1968 में संशोधित स्मृति कोड के रूप में अद्यतन किया गया था, जिस समय बुनियादी पाठ्यक्रम कंप्यूटर प्रोग्रामिंग और सूचना प्रसंस्करण में प्रमाण पत्र बन गया था। कंप्यूटर एक विषमता थी कि इसका मूल डेटा प्रकार फ्लोटिंग पॉइंट नंबर था, जैसा कि अधिकांश वास्तविक दुनिया की मशीनों के विपरीत जो द्विआधारी पूर्णांक का उपयोग करती थीं, या उस युग की व्यवसाय-उन्मुख मशीनों के लिए, द्विआधारी कोडित दशमलव। अधिकांश असेंबलर में पाए जाने वाले निम्न-स्तरीय आदेशों के अलावा, जैसे मेमोरी या बिट शिफ्टिंग से डेटा लोड करना, सी एंड जी में गुणन और विभाजन के साथ-साथ घातांक और त्रिकोणमितीय कार्यों जैसी कई और उन्नत सुविधाएँ भी शामिल थीं। एक स्मृति स्थान वैकल्पिक रूप से एक वर्ण धारण कर सकता है। कंप्यूटर को 1000 शब्दों की मुख्य स्मृति के लिए परिभाषित किया गया था। पहले दस पतों का उपयोग सूचकांक रजिस्टर के रूप में किया जा सकता था लेकिन उनके विशेष अर्थ भी थे। स्थान शून्य को स्थायी रूप से शून्य मान पर सेट किया गया था, जबकि 1 संचायक था। 4 ने सबरूटीन कॉल के दौरान वापसी का पता रखा। संशोधित संस्करण में, 5 का उपयोग निर्देश के साथ किया गया था और 6 और 7 का उपयोग सी. एन. सी. निर्देश का उपयोग करके वर्णों से संख्याओं में परिवर्तित करते समय प्रारूप को निर्दिष्ट करने के लिए किया गया था। मशीन एक संचायक डिजाइन थी। अधिकांश निर्देशों ने मुख्य स्मृति में इंगित करने वाले दो ऑपरेंड लिए, जिन्हें एन और एम के रूप में संदर्भित किया जाता है. एन आम तौर पर 12-बिट मान 0 से 999 तक होता था, जबकि एम ने रजिस्टरों में से एक का चयन किया, 0 से 9 तक। उस रजिस्टर में मान को एक पूर्ण पता देने के लिए एन में जोड़ा गया था। उदाहरण के लिए, ए. डी. डी. निर्देश दो ऑपरेंड को पढ़ता है, चयनित रजिस्टर एम में मान को स्थिर मान एन में जोड़ता है, और फिर परिणामी मेमोरी स्थान पर मान को एक्सेस करता है, जिसे सी के रूप में संदर्भित किया जाता है। प्रलेखन में, यदि प्रश्न में मान को मेमोरी स्थान से पढ़ा गया था तो इसे पेरेंस में इंगित किया गया था, इसलिए अधिकांश निर्देश एन + (एम) के रूप में थे, जिसका अर्थ है कि रजिस्टर/मेमोरी स्थान एम में मान को स्थिर मान एन में जोड़ा गया था। जोड़ ने ऑपरेशन का प्रदर्शन किया, जिसका अर्थ है कि रजिस्टर एम में मान को स्थिर मान एन में जोड़ा गया था, और फिर परिणामी मेमोरी स्थान में मान, (एन + (एम)), पहले से ही संचायक में मूल्य में जोड़ा गया था। यह प्रणाली ए. एस. सी. आई. आई. के मानकीकृत होने से पहले बनाई गई थी, और जैसा कि उस युग की मशीनों के लिए विशिष्ट था, अपने स्वयं के कस्टम चरित्र सेट का उपयोग किया। यह 0 से 9 स्थानों में 0 से 9,10 से 35 स्थानों में ए से जेड और फिर कुल 64 वर्णों के लिए कई प्रतीकों को आयोजित करता है। प्रणाली में कोड टिप्पणियों को शामिल करने के लिए किसी भी सुविधा का अभाव था। इसमें प्रतीकात्मक लेबल का भी अभाव था, इसलिए यदि प्रोग्राम में पंक्तियाँ जोड़ी या हटा दी जाती हैं, तो प्रोग्रामर को शाखाओं के स्थानों को मैन्युअल रूप से अद्यतन करना पड़ता था। निमोनिक कोड में निर्देशों को तीन व्यापक श्रेणियों में विभाजित किया जा सकता है, बुनियादी गणित और तर्क संचालन जो अधिकांश असेंबलर भाषाओं, अतिरिक्त गणितीय संचालन और इनपुट/आउटपुट संचालन को बारीकी से प्रतिबिंबित करते हैं। एक जिज्ञासु जोड़ "प्रश्न" के लिए "क्यू" है, जिसे किसी भी निर्देश के अग्रभाग में जोड़ा जा सकता है। जब क्यू का सामना करना पड़ता था, तो दुभाषिया निर्देश चलाता था और फिर प्रिंटर को डिबगिंग जानकारी देता था। निर्देश, संस्करण के आधार पर, आंतरिक रूप से इस प्रारूप में संग्रहीत किए गए थेः एफ. एफ. [क्यू] एन. एन. एन. एम. एफ. एफ., "ऑर्डर नंबर", संख्यात्मक निर्देश ऑपकोड था। क्यू ने क्वेरी फ़ंक्शन को इंगित किया, और एनएनएन और एम एन और एम के लिए तीन अंकों और एक अंकों के मान थे। संख्याओं को दशमलव प्रारूप में दर्ज किया गया था। बुनियादी संचालन प्रणाली ने संगठनात्मक उद्देश्यों के लिए अपने बुनियादी अंकगणितीय और तार्किक संचालन को कई समूहों में विभाजित कर दिया। जब तक कि अन्यथा निर्दिष्ट नहीं किया जाता है, सूची इलियट 903 प्रलेखन से हैं। समूह 0, संचायक/स्मृति संचालनः समूह 1, संचायक/निरंतर संचालन, एक एकल ऑपरेंड के साथ एक पूर्णांक मूल्य धारण करता है। मूल विनिर्देश में केवल एन का उपयोग किया गया था, 1968 के संशोधन में, एम को वैकल्पिक रूप से आपूर्ति की जा सकती है और इसका मूल्य एन में स्थिरांक में जोड़ा जा सकता है। समूह 2, भंडार मूल्यः समूह 3, परीक्षण और शाखाः संशोधित संस्करण ने कुछ कोडों को बदल दिया और नए जोड़े। इस खंड की सूची आई. सी. एल. प्रलेखन से हैः एल. ओ. पी. निर्देश का उपयोग लूप को लागू करने के लिए किया जाता है; पुनरावृत्तियों की संख्या को रजिस्टर 5 में रखकर, एल. ओ. पी. हर बार मूल्य को कम करेगा और फिर लूप के शीर्ष पर वापस जाएगा। विस्तारित गणित समूह 4 मानक गणित कार्यों का एक समूह हैः इनपुट/आउटपुट समूह 5,6 और 7 इनपुट/आउटपुट निर्देश हैं। दो ज्ञात संस्करणों, आई. सी. एल. और इलियट के बीच महत्वपूर्ण अंतर हैं, लेकिन यह स्पष्ट नहीं है कि क्या ये इलियट संस्करण के पहले के विनिर्देश होने के कारण अंतर हैं, या क्या यह मशीन में टेप और डिस्क समर्थन की कमी के कारण है और इस प्रकार उन उपकरणों से संबंधित निर्देशों को हटा दिया गया है। परिणाम कार्यों का एक अपेक्षाकृत सीमित समूह हैः इसके विपरीत, आई. सी. एल. संस्करण, जो 1968 के विनिर्देश से मेल खाता है, बहुत अधिक लचीला है। इसके कंप्यूटर में एक ही इनपुट और एकल आउटपुट चैनल था जिसे विभिन्न उपकरणों से जोड़ा जा सकता था। पाँच उपकरणों को परिभाषित किया गया था, 10 पेपर टेप रीडर था, 30 कार्ड रीडर था, 50 चुंबकीय टेप था, 60 एक डिस्क पैक था, और 80 एक प्रिंटर था। किसी एक उपकरण का उपयोग करने के लिए, ए. आर. डी. एन., एम. या ए. डब्ल्यू. डी. एन., एम. निर्देश को वांछित उपकरण संख्या (एन + (एम)) के साथ क्रमशः पढ़ने या लिखने के लिए बुलाया गया था। एक बार खोलने के बाद, उपकरणों को विभिन्न आई/ओ निर्देशों का उपयोग करके पढ़ा और लिखा जा सकता है। इनमें संख्याओं और वर्णों के लिए अलग-अलग निर्देश, दोनों के बीच परिवर्तित करने के निर्देश, और विशेष कार्यों के लिए विभिन्न अन्य निर्देश जैसे कि लाइन फीड को आउटपुट करना या टेप को रिवाइंड करना शामिल था। एक प्रमुख विशेषता एक "ब्लॉक" की अवधारणा थी, जो संबंधित डेटा का एक समूह था जिसे एक साथ पढ़ा जाता था। इसका उपयोग आम तौर पर एक ही निर्देश में वर्ण स्ट्रिंग को पढ़ने और लिखने के लिए किया जाता था। ब्लॉक चरित्र के साथ समाप्त होता है, जिसे ब्लॉक चरित्र के रूप में जाना जाता है। अन्य निर्देश संख्या स्वरूपण प्रणाली का एक प्रमुख लक्ष्य विभिन्न वास्तविक दुनिया के उपकरणों में डेटा को पढ़ना और लिखना था, कोड में पठनीय पाठ को आउटपुट करने के कार्य को आसान बनाने के लिए प्रिंटएफ प्रारूप स्ट्रिंग्स के समान एक स्वरूपण प्रणाली शामिल थी। प्रारूप को स्मृति में एक मान के रूप में संग्रहीत किया जाता है, अधिकांश निर्देशों के लिए एन + (एम) पर, या सीएनसी निर्देश के लिए 6 और 7 स्थानों में, जो आउटपुट स्थान को परिभाषित करने के लिए एन + (एम) का उपयोग करता है। चार बुनियादी प्रारूप हैं, जिनमें से सभी एक प्रमुख स्थान और प्लस या माइनस संकेत के साथ शुरू होते हैंः असेंबलर निर्देश मशीन निर्देशों के अलावा, भाषा में निर्देश की एक छोटी संख्या भी शामिल हैः (शीर्षक) निम्नलिखित पंक्ति को आउटपुट डिवाइस (स्टोर एन) पर प्रिंट करता है जो निम्नलिखित कोड का प्रारंभिक स्थान निर्धारित करता है। एकल कार्यक्रम में कई स्टोर का उपयोग किया जा सकता है (डब्ल्यू. ए. आई. टी.) निष्पादन रोकता है और प्रचालक से जी. ओ. निर्देश की प्रतीक्षा करता है (ई. एक्स. ई. सी. यू. टी. ई. एन.) कार्यक्रम कोड के अंत को इंगित करता है और जब कार्यक्रम संचालित होता है तो प्रारंभिक कार्यक्रम काउंटर स्थान निर्धारित करता है। इसमें लोड और सेव, इनपुट या आउटपुट उपकरण को पुनर्निर्देशित करने के लिए चालू करना और निष्पादन शुरू करने के लिए जाना शामिल था। उदाहरण हर्बर्ट का यह उदाहरण पी. आई. की गणना और मुद्रण करता है। इलियट 903 के लिए लिखा गया, यह पहले के I/O कमांड का उपयोग करता है, जो पंच टेप पर प्रिंट करता है। (शीर्षक) सिम्पल टेस्ट (स्टोर 12) एलडीएएन 1 एआरसी 16 एमएलटीएन 4 पीएनटी 1,6 जेएसटी (एक्जीक्यूट 12) जब कमांड के साथ चलाया जाएगा, तो यह प्रोग्राम उत्पन्न करेगाः सिम्पल टेस्ट 3.141593 नोट्स और भी देखें पी-कोड मशीन-एक समान शैक्षिक आभासी मशीन। संदर्भ उद्धरण ग्रंथ सूची बाहरी लिंक एक प्रोग्रामर की यादें-हेलेन यंग ने सी एंड जी दुभाषिया प्रोग्रामिंग भाषा कार्यान्वयन पर शुरुआती काम को याद किया