मालबोल्गे: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Short description|1998 esoteric programming language}}
{{Short description|1998 esoteric programming language}}
{{about|the programming language|the eighth circle of hell in Dante's Inferno|Malebolge}}
''यह लेख प्रोग्रामिंग भाषा के बारे में है। दांते के इन्फर्नो में नरक के आठवें चक्र के लिए, मेलबोलगे देखें।''{{Infobox programming language
 
| title = मालबोलगे
{{Infobox programming language
| screenshot = मालबोल्गे इको प्रोग्राम.पीएनजी
| title = Malbolge
| screenshot caption = मालबोलगे में एक प्रतिध्वनि कार्यक्रम
| screenshot = Malbolge echo program.png
| paradigm = गुप्त, अनिवार्य, अदिष्ट, मूल्य-स्तर
| screenshot caption = An echo program in Malbolge
| designer = बेन ओल्मस्टेड<ref name=esolangs>{{Cite web
| paradigm = Esoteric, imperative, scalar, value-level
| designer = Ben Olmstead<ref name=esolangs>{{Cite web
|url=https://esolangs.org/wiki/Malbolge
|url=https://esolangs.org/wiki/Malbolge
|title=Malbolge - Esolang
|title=Malbolge - Esolang
|access-date=2022-08-27}}</ref>
|access-date=2022-08-27}}</ref>
| developer = Ben Olmstead<ref name=esolangs/>
| developer = बेन ओल्मस्टेड<ref name=esolangs/>
| discontinued = yes
| discontinued = हाँ
| released = 1998
| released = 1998
| influenced by = [[Brainfuck]],  [[INTERCAL]] (Tri-INTERCAL), [[Befunge]]
| influenced by = [[ब्रेनफक]],  [[इंटरकैल]] (त्रि-इंटरकैल), [[बेफ़ंगे]]
| influenced = Dis, Malbolge Unshackled
| influenced = है, मालबोल्गे अनशेकल्ड
| File extensions = .mal, .mb
| File extensions = .mal, .mb
| typing = Untyped
| typing = अनटाइप
}}
}}
मालबोलगे ({{IPAc-en|m|æ|l|ˈ|b|oʊ|l|dʒ}}) 1998 में बेन ओल्मस्टेड द्वारा आविष्कार की गई एक सार्वजनिक डोमेन [[गूढ़ प्रोग्रामिंग भाषा]] है, जिसका नाम [[दांटे अलीघीरी]] के [[नरक (दांते)]]डांटे), [[मालेबॉल्ज]] में नरक के आठवें चक्र के नाम पर रखा गया है। यह विशेष रूप से उपयोग करने के लिए लगभग असंभव होने के लिए डिज़ाइन किया गया था, एक प्रति-सहज ज्ञान युक्त 'पागल ऑपरेशन', आधार-तीन अंकगणितीय और आत्म-परिवर्तनकारी कोड के माध्यम से।<ref name=":0" />यह पहले की चुनौतीपूर्ण गूढ़ भाषाओं (जैसे [[ब्रेनफक]] और बेफंज) की कठिनाई पर बनाता है, लेकिन कंप्यूटर विज्ञान और [[कूटलेखन]] के इतिहास के उलझे हुए इतिहास पर खेलते हुए, इस पहलू को चरम पर ले जाता है। इस डिजाइन के बावजूद उपयोगी मालबोलगे प्रोग्राम लिखना संभव है।
'''''मालबोलगे ({{IPAc-en|m|æ|l|ˈ|b|oʊ|l|dʒ}})''''' 1998 में बेन ओल्मस्टेड द्वारा आविष्कार की गई एक सार्वजनिक डोमेन [[गूढ़ प्रोग्रामिंग भाषा|गोपनीय प्रोग्रामिंग भाषा]] है, जिसका नाम डांटे के इन्फर्नो, द मालेबोल में नरक के आठवें चक्र के नाम पर रखा गया है। यह विशेष रूप से प्रति-सहज ज्ञान युक्त 'दुर्बल संचालन', आधार-तीन अंकगणितीय और स्व-परिवर्तनकारी कोड के माध्यम से उपयोग करने के लिए लगभग असंभव होने के लिए डिज़ाइन किया गया था।।<ref name=":0" /> यह पहले की चुनौतीपूर्ण गोपनीय भाषाओं (जैसे [[ब्रेनफक]] और बेफंज) की कठिनाई पर आधारित है, लेकिन कंप्यूटर विज्ञान और [[कूटलेखन]] (एन्क्रिप्शन) के जटिल इतिहास पर खेलते हुए, इस स्वरूप को अधिकतम पर ले जाता है। इस डिजाइन के होते हुए भी उपयोगी मालबोलगे प्रोग्राम लिखना संभव है।


== मालबोल्गे में प्रोग्रामिंग ==
== मालबोल्गे में प्रोग्रामिंग ==
मालबोल्गे के आने पर इसे समझना बहुत मुश्किल था। पहले मालबोल्गे प्रोग्राम को प्रदर्शित होने में दो साल लग गए। लेखक ने स्वयं कभी भी मलबोलगे प्रोग्राम नहीं लिखा है।<ref name=":0" />पहला प्रोग्राम किसी इंसान ने नहीं लिखा था; यह एंड्रयू कुक द्वारा डिज़ाइन किए गए एक [[बीम खोज]] एल्गोरिथम द्वारा उत्पन्न किया गया था और [[लिस्प प्रोग्रामिंग भाषा]] में लागू किया गया था।<ref>{{cite web
मालबोल्गे के आने पर इसे समझना बहुत कठिन था। पहले मालबोल्गे प्रोग्राम को प्रदर्शित होने में दो साल लग गए। लेखक ने स्वयं कभी भी मलबोलगे प्रोग्राम नहीं लिखा है।<ref name=":0" /> हला प्रोग्राम किसी इंसान द्वारा नहीं लिखा गया था; यह एंड्रयू कुक द्वारा डिज़ाइन किए गए और सूची प्रक्रमण में प्रयुक्त किए गए एक बीम जाँच एल्गोरिथम द्वारा उत्पन्न किया गया था।<ref>{{cite web
  |url=https://www.acooke.org/malbolge.html
  |url=https://www.acooke.org/malbolge.html
  |url-access=
  |url-access=
Line 34: Line 32:
  |archive-date=2019-12-06
  |archive-date=2019-12-06
  }}</ref>
  }}</ref>
बाद में, लू शेफ़र ने मालबोलगे का एक [[क्रिप्ट विश्लेषण]] पोस्ट किया और इसके इनपुट को इसके आउटपुट में कॉपी करने के लिए एक प्रोग्राम प्रदान किया।<ref name="lscheffer"/>मूल साइट के काम करना बंद करने के बाद उन्होंने मूल दुभाषिया और विनिर्देश को भी सहेजा, और मालबोल्गे में प्रोग्राम लिखने की एक सामान्य रणनीति के साथ-साथ इसकी [[ट्यूरिंग पूर्णता]] पर कुछ विचार पेश किए।<ref>{{Cite web
 
बाद में, लू शेफ़र ने मालबोलगे का [[क्रिप्ट विश्लेषण]] प्रविष्ट किया और इसके इनपुट को इसके आउटपुट में प्रतिलिपि करने के लिए प्रोग्राम प्रदान किया।<ref name="lscheffer" /> मूल साइट के काम करना बंद करने के बाद उन्होंने मूल दुभाषिया और विनिर्देश को भी संग्रहित किया, और मालबोल्गे में प्रोग्राम लिखने की एक सामान्य योजना के साथ-साथ इसकी [[ट्यूरिंग पूर्णता]] पर कुछ विचार प्रस्तुत किए।<ref>{{Cite web
| title = Malbolge - Programming language
| title = Malbolge - Programming language
| url = http://progopedia.com/language/malbolge/
| url = http://progopedia.com/language/malbolge/
Line 42: Line 41:
| publisher = Progopedia
| publisher = Progopedia
| accessdate = 2017-06-09}}</ref>
| accessdate = 2017-06-09}}</ref>
ओल्म्सटेड का मानना ​​था कि मालबोलगे एक रैखिक परिबद्ध ऑटोमेटन है। इस बारे में एक चर्चा है कि क्या कोई मालबोल्गे में समझदार पाशों को कार्यान्वित कर सकता है- पहले गैर-समाप्ति वाले को पेश किए जाने से कई सालों पहले। कंप्यूटर विज्ञान में बीयर की सही 99 बोतलें#संदर्भ, जो गैर-तुच्छ छोरों और स्थितियों से संबंधित है, की घोषणा सात वर्षों तक नहीं की गई थी; पहला सही 2005 में हिसाशी इजावा द्वारा किया गया था।<ref>{{cite web
 
ओल्म्सटेड का मानना ​​था कि मालबोलगे एक रैखिक परिबद्ध स्वचालन है। इस बारे में एक चर्चा है कि क्या कोई मालबोल्गे में उपयुक्त लूप को कार्यान्वित कर सकता है- पहले गैर-गुण वाले को प्रस्तुत किए जाने से पहले कई वर्ष लग गए थे। कंप्यूटर विज्ञान में बीयर की सही 99 बोतलें संदर्भ, जो गैर-साधारण सिरों और स्थितियों से संबंधित है, जिसकी घोषणा सात वर्षों तक नहीं की गई थी; पहला सही 2005 में हिसाशी इजावा द्वारा किया गया था।<ref>{{cite web
| url=http://www.99-bottles-of-beer.net/language-malbolge-995.html
| url=http://www.99-bottles-of-beer.net/language-malbolge-995.html
| title=Language Malbolge
| title=Language Malbolge
Line 50: Line 50:
| archive-date=2020-05-14
| archive-date=2020-05-14
| url-status=dead
| url-status=dead
| accessdate=2020-11-19}}</ref> हिसाशी इजावा एट अल। सॉफ्टवेयर सुरक्षा के लिए भ्रम उत्पन्न करने के उद्देश्य से मालबोलगे में प्रोग्रामिंग के लिए एक गाइड भी प्रस्तावित किया।<ref name=":1" />
| accessdate=2020-11-19}}</ref> हिसाशी इजावा एट अल सॉफ्टवेयर सुरक्षा के लिए भ्रम उत्पन्न करने के उद्देश्य से मालबोलगे में प्रोग्रामिंग के लिए एक गाइड का भी प्रस्ताव रखा।<ref name=":1" />
 
2020 में, [[GitHub|गिटहब]] उपयोगकर्ता केस्पलाईोलोजोस ने मालबोल्गे अनशेकल्ड (बंधनमुक्त) में एक कार्यकारी [[लिस्प (प्रोग्रामिंग भाषा)|सूची प्रक्रमण (प्रोग्रामिंग भाषा)]] इंटरप्रेटर (कंप्यूटिंग) बनाया।<ref>{{Citation|last=Palaiologos|title=kspalaiologos/malbolge-lisp|date=2021-03-04|url=https://github.com/kspalaiologos/malbolge-lisp|access-date=2021-03-23}}</ref>


2020 में, [[GitHub]] उपयोगकर्ता kspalaiologos ने मालबोल्गे Unshackled में एक वर्किंग [[लिस्प (प्रोग्रामिंग भाषा)]] इंटरप्रेटर (कंप्यूटिंग) बनाया।<ref>{{Citation|last=Palaiologos|title=kspalaiologos/malbolge-lisp|date=2021-03-04|url=https://github.com/kspalaiologos/malbolge-lisp|access-date=2021-03-23}}</ref>




Line 58: Line 59:


=== हैलो, विश्व! ===
=== हैलो, विश्व! ===
यह प्रोग्राम हैलो वर्ल्ड प्रोग्राम प्रदर्शित हैलो वर्ल्ड।<ref>{{Citation|last=Palaiologos|title=kspalaiologos/hello.mb|date=2021-03-04|url=https://gist.github.com/kspalaiologos/a1fe6913aaff8edea515b4af385368fe|access-date=2021-03-23}}</ref>
यह प्रोग्राम "हैलो, वर्ल्ड" प्रदर्शित करता है।<ref>{{Citation|last=Palaiologos|title=kspalaiologos/hello.mb|date=2021-03-04|url=https://gist.github.com/kspalaiologos/a1fe6913aaff8edea515b4af385368fe|access-date=2021-03-23}}</ref>
  (=<`#9]~6ZY327Uv4-QsqpMn&+Ij"'E%e{Ab~w=_:]Kw%o44Uqp0/Q?xNvL:`H%c#DD2^WV>gY;dts76qKJImZkj
  (=<`#9]~6ZY327Uv4-QsqpMn&+Ij"'E%e{Ab~w=_:]Kw%o44Uqp0/Q?xNvL:`H%c#DD2^WV>gY;dts76qKJImZkj


===<code>echo</code> प्रोग्राम ===
===<code>echo</code> प्रोग्राम ===
यह प्रोग्राम एक उपयोगकर्ता से एक स्ट्रिंग पढ़ता है और उस स्ट्रिंग को यूनिक्स के समान प्रिंट करता है <code>[[echo (command)|echo]]</code>.<ref>{{Cite web |last=Lutter |first=Matthias |title=Malbolge cat |url=https://lutter.cc/malbolge/cat.html |url-status=live |access-date=2022-08-28 |website=lutter.cc}}</ref>
यह प्रोग्राम एक उपयोगकर्ता से एक स्ट्रिंग पढ़ता है और उस स्ट्रिंग को यूनिक्स <code>[[echo (command)|echo]]</code>के समान उस स्ट्रिंग को प्रिंट करता है।<ref>{{Cite web |last=Lutter |first=Matthias |title=Malbolge cat |url=https://lutter.cc/malbolge/cat.html |url-status=live |access-date=2022-08-28 |website=lutter.cc}}</ref>
  (=BA#9"=<;:3y7x54-21q/p-,+*)"!h%B0/.
  (=BA#9"=<;:3y7x54-21q/p-,+*)"!h%B0/.
  ~P<
  ~P<
Line 70: Line 71:


== डिजाइन ==
== डिजाइन ==
मालबोल्गे एक टर्नरी अंक प्रणाली [[आभासी मशीन]], मालबोल्गे दुभाषिया (कंप्यूटिंग) के लिए मशीनी भाषा है।
मालबोल्गे एक त्रिगुट अंक प्रणाली [[आभासी मशीन]], मालबोल्गे दुभाषिया (कंप्यूटिंग) के लिए मशीनी भाषा है।


मानक दुभाषिया और आधिकारिक विनिर्देश पूरी तरह मेल नहीं खाते हैं।<ref>{{Cite web
मानक दुभाषिया और आधिकारिक विनिर्देश पूरी तरह समरूप नहीं हैं।<ref>{{Cite web
| title = Malbolge
| title = Malbolge
| url = http://www2.latech.edu/~acm/helloworld/malbolge.html
| url = http://www2.latech.edu/~acm/helloworld/malbolge.html
Line 79: Line 80:
| date = 2000-12-01
| date = 2000-12-01
| website = [[Louisiana Tech University]]
| website = [[Louisiana Tech University]]
| accessdate = 2017-06-09}}</ref> एक अंतर यह है कि कंपाइलर 33–126 रेंज के बाहर डेटा के साथ निष्पादन को रोक देता है। हालांकि प्रारंभ में इसे संकलक में एक बग माना गया था, बेन ओल्म्सटेड ने कहा कि इसका इरादा था और वास्तव में विनिर्देशन में एक बग था।<ref name=":0" />
| accessdate = 2017-06-09}}</ref> एक अंतर यह है कि कंपाइलर 33–126 सीमा के बाहर डेटा के साथ कार्यान्वयन को रोक देता है। हालांकि प्रारंभ में इसे संकलक में एक बग (त्रुटि) माना गया था, बेन ओल्म्सटेड ने कहा कि इसका उद्देश्य था और वास्तव में "विनिर्देश में एक बग" था।<ref name=":0" />






=== रजिस्टर ===
=== रजिस्टर ===
मालबोल्गे में तीन [[प्रोसेसर रजिस्टर]] हैं, ''a'', ''c'', और ''d''। जब कोई प्रोग्राम शुरू होता है, तो तीनों रजिस्टरों का मान शून्य होता है।
मालबोल्गे में तीन [[प्रोसेसर रजिस्टर]] ''a'', ''c'', और ''d हैं'' । जब कोई प्रोग्राम प्रारंभ होता है, तो तीनों रजिस्टरों का मान शून्य होता है।


''a'' का अर्थ 'accumulator' है, जो मेमोरी पर सभी राइट ऑपरेशंस द्वारा लिखे गए मान पर सेट होता है और इनपुट/आउटपुट|मानक I/O के लिए उपयोग किया जाता है। 'सी', कोड पॉइंटर, विशेष है: यह [[कार्यक्रम गणक|प्रोग्राम गणक]] है।<ref>{{Cite web
'''''a''''' का अर्थ 'एक्युमुलेटर' (संचायक) है, जो मेमोरी पर सभी लिखित संचालन द्वारा लिखे गए मूल्य पर व्यवस्थित और मानक इनपुट/आउटपुट के लिए उपयोग किया जाता है। ''''c'''<nowiki/>', कोड पॉइंटर, विशेष है: यह वर्तमान निर्देश की ओर संकेत करता है।<ref>{{Cite web
| title = Malbolge Specification
| title = Malbolge Specification
| url = http://www.lscheffer.com/malbolge_spec.html
| url = http://www.lscheffer.com/malbolge_spec.html
Line 93: Line 94:
| date = 1998
| date = 1998
| website = www.lscheffer.com
| website = www.lscheffer.com
| accessdate = 2017-06-09}}</ref> ''डी'' डेटा सूचक है। यह प्रत्येक निर्देश के बाद स्वचालित रूप से बढ़ जाता है, लेकिन यह जिस स्थान को इंगित करता है उसका उपयोग डेटा हेरफेर कमांड के लिए किया जाता है।
| accessdate = 2017-06-09}}</ref> '''d''' डेटा पॉइंटर है। यह प्रत्येक निर्देश के बाद स्वचालित रूप से बढ़ जाता है, लेकिन यह जिस स्थान को इंगित करता है उसका उपयोग डेटा कुशलतापूर्वक प्रयोग कमांड के लिए किया जाता है।


=== सूचक संकेतन ===
=== पॉइन्टर संकेतन ===
''डी'' मेमोरी एड्रेस को होल्ड कर सकता है; ''[डी]'' एड्रेसिंग मोड है#अप्रत्यक्ष रूप से रजिस्टर करें; उस पते पर संग्रहीत मूल्य। ''[सी]'' समान है।
'''d''' एक मेमोरी एड्रैस रख सकता है; '''[d]''' अप्रत्यक्ष रूप से रजिस्टर है; उस एड्रैस पर संग्रहीत मान '''[c]''' समान है।


=== मेमोरी ===
=== मेमोरी ===
वर्चुअल मशीन में 59,049 (3<sup>10</sup>) [[रैंडम एक्सेस मेमोरी]] लोकेशन, जिनमें से प्रत्येक में दस-ट्रिट टर्नरी अंक प्रणाली हो सकती है। प्रत्येक स्मृति स्थान का पता 0 से 59048 तक होता है और 0 से 59048 तक का मान होल्ड कर सकता है। इस सीमा से आगे बढ़ने पर वापस शून्य हो जाता है।
वर्चुअल मशीन में 59,049 (3<sup>10</sup>) [[रैंडम एक्सेस मेमोरी]] लोकेशन, जिनमें से प्रत्येक में दस-ट्रिट त्रिगुट अंक प्रणाली हो सकती है। प्रत्येक मेमोरी स्थान का एड्रैस 0 से 59048 तक होता है और 0 से 59048 तक का मान रख सकता है। इस सीमा से आगे बढ़ने पर वापस शून्य हो जाता है।


भाषा [[वॉन न्यूमैन वास्तुकला]] का उपयोग करती है। यह x86 आर्किटेक्चर जैसे हार्डवेयर के काम करने के तरीके से प्रभावित था।<ref name=":0" />
भाषा डेटा और निर्देशों दोनों के लिए एक ही मेमोरी स्थान का उपयोग करती है। यह x86 संरचना जैसे हार्डवेयर के काम करने के तरीके से प्रभावित था।<ref name=":0" />


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


पिछले दो पतों ('[m] = crz [m - 2], [m - 1]') पर पागल ऑपरेशन (नीचे देखें) का उपयोग करके शेष मेमोरी भर दी गई है। इस तरह से भरी हुई मेमोरी हर बारह पतों को दोहराएगी (व्यक्तिगत टर्नरी अंक हर तीन या चार पतों को दोहराएगा, इसलिए टर्नरी अंकों का एक समूह हर बारह को दोहराने की गारंटी देता है)।
पिछले दो एड्रैस ('[m] = crz [m - 2], [m - 1]') पर दुर्बल संचालन (नीचे देखें) का उपयोग करके शेष मेमोरी संग्रहित कर दी गई है। इस तरह से भंडारण मेमोरी प्रत्येक बारह एड्रैस को पुनरावृत करेगी (व्यक्तिगत त्रिगुट अंक प्रत्येक तीन या चार एड्रैस को पुनरावृत करेगी, इसलिए त्रिगुट अंकों का एक समूह प्रत्येक बारह को पुनरावृत की प्रत्याभूति देता है)।


2007 में, अर्जन जोहान्सन ने मालबोल्गे अनशेकल्ड बनाया, माल्बोल्गे का एक संस्करण जिसमें मनमाना स्मृति सीमा नहीं है। जितना संभव हो मालबोल्गे की भावना में रखते हुए एक ट्यूरिंग-पूर्ण भाषा बनाने की आशा थी। कोई अन्य नियम नहीं बदले गए हैं, और सभी मालबोल्गे प्रोग्राम जो स्मृति सीमा तक नहीं पहुँचते हैं वे पूरी तरह कार्यात्मक हैं।<ref>{{Cite web
2007 में, अर्जन जोहान्सन ने मालबोल्गे अस्पष्ट बनाया, माल्बोल्गे का एक संस्करण जिसमें व्यवस्थित मेमोरी सीमा नहीं है। जितना संभव हो मालबोल्गे की तत्परता में रखते हुए एक ट्यूरिंग-पूर्ण भाषा बनाने की उपेक्षा थी। कोई अन्य नियम नहीं परिवर्तित कर दिए गए हैं, और सभी मालबोल्गे प्रोग्राम जो मेमोरी सीमा तक नहीं पहुँचते हैं वे पूरी तरह कार्यात्मक हैं।<ref>{{Cite web
| title = An interpreter for the Malbolge Unshackled dialect
| title = An interpreter for the Malbolge Unshackled dialect
| url = http://oerjan.nvg.org/esoteric/Unshackled.hs
| url = http://oerjan.nvg.org/esoteric/Unshackled.hs
Line 119: Line 120:


=== निर्देश ===
=== निर्देश ===
मालबोलगे के पास आठ [[opcode]] हैं। मालबोल्गे यह पता लगाता है कि [c] का मान लेकर, उसमें c का मान जोड़कर और शेष को 94 से विभाजित करने पर किस निर्देश को निष्पादित करना है। अंतिम परिणाम दुभाषिया को बताता है कि क्या करना है:
मालबोलगे के आठ निर्देश हैं। मालबोलगे ने यह पता लगाता है कि '''[c]''' का मान लेकर, उसमें '''c''' का मान जोड़कर और शेष को 94 से विभाजित करने पर किस निर्देश को निष्पादित करना है। अंतिम परिणाम दुभाषिया (इंटरप्रेटर) को बताता है कि क्या करना है:


{| style="margin:auto;" class="wikitable"
{| style="margin:auto;" class="wikitable"
Line 128: Line 129:
|-
|-
! 4
! 4
| {{mono|jmp&nbsp;[d]}} || style="text-align:left;"| Copies the value at '''[d]''' to '''c'''. Note that '''c''' will still be incremented after execution of this instruction, so the next instruction to be executed will be the one at '''[d] + 1 (modulo 59049)'''.
| {{mono|jmp&nbsp;[d]}} || style="text-align:left;"| मान को '''[d]''' से '''c''' पर कॉपी करता है। ध्यान दें कि इस निर्देश के निष्पादन के बाद भी '''c''' में वृद्धि होगी, इसलिए निष्पादित किया जाने वाला अगला निर्देश '''[d] + 1 (सापेक्ष 59049)''' पर होगा।
|-
|-
! 5
! 5
| {{mono|out&nbsp;a}} || style="text-align:left;"| Prints the value of '''a''', as an [[ASCII]] character, to the screen.
| {{mono|out&nbsp;a}} || style="text-align:left;"| '''a''' के मान को सूचना आदान-प्रदान के लिए अमेरिकी मानक कोड (एएससीआईआई) वर्ण के रूप में स्क्रीन पर प्रिंट करता है।
|-
|-
! 23
! 23
| {{mono|in&nbsp;a}} || style="text-align:left;"| Inputs a character, as an ASCII code, into '''a'''. Newlines or line feeds are both code ''10''. An end-of-file condition is code ''59048''.
| {{mono|in&nbsp;a}} || style="text-align:left;"| एएससीआईआई कोड के रूप में एक वर्ण को '''a''' में इनपुट करता है। न्यूलाइन्स या लाइन फीड्स दोनों कोड 10 हैं। फ़ाइल के अंत की स्थिति कोड '''59048''' है।
|-
|-
! 39
! 39
| {{mono|rotr&nbsp;[d]<br />mov&nbsp;a,&nbsp;[d]}} || style="text-align:left;"| Rotates the value at '''[d]''' by one ternary digit to the right (000211111'''2''' becomes '''2'''000211111). Stores the result both at '''[d]''' and in '''a'''.
| {{mono|rotr&nbsp;[d]<br />mov&nbsp;a,&nbsp;[d]}} || style="text-align:left;"| मान को '''[d]''' पर एक त्रिअंकीय अंक से दाईं ओर घुमाता है (000211111'''2''' '''2'''000211111 बन जाता है)। परिणाम को '''[d]''' और '''a''' दोनों में संग्रहीत करता है।
|-
|-
! 40
! 40
| {{mono|mov&nbsp;d,&nbsp;[d]}} || style="text-align:left;"| Copies the value at '''[d]''' to '''d'''.
| {{mono|mov&nbsp;d,&nbsp;[d]}} || style="text-align:left;"| मान को '''[d]''' से '''d''' पर कॉपी करता है।
|-
|-
! 62
! 62
| {{mono|crz&nbsp;[d],&nbsp;a<br />mov&nbsp;a,&nbsp;[d]}} || style="text-align:left;"| Does the ''crazy'' operation (see below) with the value at '''[d]''' and the value of '''a'''. Stores the result both at '''[d]''' and in '''a'''.
| {{mono|crz&nbsp;[d],&nbsp;a<br />mov&nbsp;a,&nbsp;[d]}} || style="text-align:left;"| '''[d]''' के मूल्य और '''a''' के मूल्य के साथ क्रेजी संक्रिया (नीचे देखें) करता है। परिणाम को '''[d]''' और '''a''' दोनों में संग्रहीत करता है।
|-
|-
! 68
! 68
Line 154: Line 155:
| colspan="2" | ''68 के समान कुछ नहीं करता है। किसी प्रोग्राम में लोड होने के समय इन अन्य मानों की स्वीकृति नहीं है, लेकिन बाद में स्वीकृति दी जाती है।''
| colspan="2" | ''68 के समान कुछ नहीं करता है। किसी प्रोग्राम में लोड होने के समय इन अन्य मानों की स्वीकृति नहीं है, लेकिन बाद में स्वीकृति दी जाती है।''
|}
|}
प्रत्येक निर्देश के क्रियान्वित होने के बाद, दोषी निर्देश एन्क्रिप्ट किया जाता है (नीचे देखें) ताकि यह अगली बार वही काम न करे, जब तक कि कोई छलांग न लगे। छलांग लगाने के ठीक बाद, मालबोलगे सीधे उस निर्देश को एन्क्रिप्ट करेगा जिस पर उसने छलांग लगाई थी। फिर, c और d दोनों के मानों में एक की वृद्धि की जाती है और अगला निर्देश निष्पादित किया जाता है।
प्रत्येक निर्देश के क्रियान्वित होने के बाद, दोषी निर्देश एन्क्रिप्ट किया जाता है (नीचे देखें) ताकि यह अगली बार वही काम न करे, जब तक कि कोई जंप न लगे। जंप के ठीक बाद, मालबोलगे प्रत्यक्ष रूप से उस निर्देश को एन्क्रिप्ट करेगा जिस पर उसने जंप किया। फिर, '''c''' और '''d''' दोनों के मानों में एक की वृद्धि की जाती है और अगला निर्देश निष्पादित किया जाता है।


=== पागल ऑपरेशन ===
=== दुर्बल संचालन ===
दोनों इनपुट के प्रत्येक त्रिअंकीय अंक के लिए, परिणाम का त्रिअंकीय अंक प्राप्त करने के लिए निम्न तालिका का उपयोग करें। उदाहरण के लिए, crz 0001112220, 0120120120 1001022211 देता है।
दोनों इनपुट के प्रत्येक त्रिअंकीय अंक के लिए, परिणाम का त्रिअंकीय अंक प्राप्त करने के लिए निम्न तालिका का उपयोग करें। उदाहरण के लिए, '''crz 0001112220, 0120120120''' देता है।


{| style="margin:auto;" class="wikitable"
{| style="margin:auto;" class="wikitable"
|+ ''Crazy'' operation<ref name=":0">{{Cite web
|+ क्रेजी संक्रिया<ref name=":0">{{Cite web
  | title = Interview with Ben Olmstead
  | title = Interview with Ben Olmstead
  | url = https://esoteric.codes/blog/interview-with-ben-olmstead
  | url = https://esoteric.codes/blog/interview-with-ben-olmstead
Line 176: Line 177:
  | accessdate = 2017-06-09}}</ref>
  | accessdate = 2017-06-09}}</ref>
|- style="text-align:center;"
|- style="text-align:center;"
! colspan="2" rowspan="2" | crz !! colspan="3" | Input 2
! colspan="2" rowspan="2" | सीआरजेड !! colspan="3" | इनपुट 2
|- style="text-align:center;"
|- style="text-align:center;"
! 0 !! 1 !! 2
! 0 !! 1 !! 2
|- style="text-align:center;"
|- style="text-align:center;"
! rowspan="3" | Input 1 !! 0
! rowspan="3" | इनपुट 1 !! 0
| 1 || 0 || 0
| 1 || 0 || 0
|- style="text-align:center;"
|- style="text-align:center;"
Line 191: Line 192:




=== गूढ़लेख ===
=== कूटलेखन ===
एक निर्देश के क्रियान्वित होने के बाद, ''[c]'' (इसमें कुछ भी जोड़े बिना) का मान [[मॉड्यूल ऑपरेशन]] 94 से बदल दिया जाएगा। फिर, परिणाम निम्नलिखित दो समकक्ष [[प्रतिस्थापन सिफर]] में से एक के साथ कूटबद्ध किया जाता है।
एक निर्देश के क्रियान्वित होने के बाद, '''''[c]''''' (इसमें कुछ भी जोड़े बिना) का मान [[मॉड्यूल ऑपरेशन|मॉड्यूल संक्रिया]] 94 से परिवर्तित कर दिया जाएगा। फिर, परिणाम निम्नलिखित दो समकक्ष विधियों में से एक के साथ जोड़ा जाता है।


; विधि 1: नीचे परिणाम प्राप्त करें। इसके नीचे के कैरेक्टर का ASCII कोड ''[c]'' पर स्टोर करें।
; विधि 1: नीचे परिणाम प्राप्त करें। इसके नीचे के वर्ण का सूचना विनिमय के लिए अमेरिकी मानक कोड कोड '''''[c]''''' पर संग्रहित करें।
<वाक्यविन्यास लैंग = पाठ>
  0000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999
  000000000011111111112222222222333333333344444444445555555556666666666777777777788888888889999
  0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123
  ----------------------------------------------------------------------------------------------
--------------------------------------------------- --------------------------------------------
  9m<.TVac`uY*MK'X~xDl}REokN:#?G"i@5z]&gqtyfr$(we4{WP)H-Zn,[%\3dL+Q;>U!pJS72FhOA1CB6v^=I_0/8|jsb
9मी<.TVac`uY*MK'X~xDl}REokN:#?G i@5z]&gqtyfr$(we4{WP)H-Zn,[%\3dL+Q;>U!pJS72FhOA1CB6v^=I_0/8| jsb
</वाक्यविन्यास हाइलाइट>