आपको बस एक x86 MOV
निर्देश की आवश्यकता है ।
"M / o / Vfuscator (लघु 'o'," mobfuscator "की तरह लगता है)" mov "निर्देशों में कार्यक्रमों को संकलित करता है, और केवल" mov "निर्देश। अंकगणितीय, तुलना, कूदता है, फ़ंक्शन कॉल करता है, और बाकी सब कुछ एक प्रोग्राम की आवश्यकता है। सभी को mov संचालन के माध्यम से प्रदर्शन किया गया है, कोई स्व-संशोधित कोड नहीं है, कोई परिवहन-ट्रिगर गणना नहीं है, और गैर-चालित धोखाधड़ी का कोई अन्य रूप नहीं है। "
गंभीरता से, हालांकि, ये आदिम लिस्प मशीन को लागू नहीं करेंगे। मशीन को I / O, और कचरा संग्रह जैसी सुविधाओं की आवश्यकता होती है। एक समारोह बुला तंत्र का उल्लेख नहीं करने के लिए! ठीक है, आपके पास सात आदिम हैं जो फ़ंक्शन हैं। मशीन एक फ़ंक्शन को कैसे बुलाती है?
इन आदिमों के लिए जो संभव है, उसकी उचित समझ यह है कि वे एक यूनिवर्सल ट्यूरिंग मशीन के निर्देश सेट को उजागर करते हैं । क्योंकि वे निर्देश "लिस्फी" हैं, जीभ की एक पर्ची (लिस्प के साथ बोलते हुए) हम चुपके से इसे "लिस्प मशीन" कहते हैं। "यूनिवर्सल" का मतलब है कि मशीन प्रोग्राम करने योग्य है: यूनिवर्सल ट्यूरिंग मशीन पर लागू किए गए कुछ संयोजन निर्देशों के साथ, हम किसी भी ट्यूरिंग मशीन को तुरंत कर सकते हैं। लेकिन अब तक, यह सब विशुद्ध रूप से एक गणितीय निर्माण है।
वास्तव में इस UTM का अनुकरण करने के लिए- इसे कंप्यूटर पर खोजने के लिए इसे भौतिक रूप से महसूस करें, हमें एक मशीन की आवश्यकता है जो हमें वास्तव में उन रूपों को इनपुट करने का एक तरीका प्रदान करती है जो उन सात लिस्प निर्देशों के संयोजन से ट्यूरिंग मशीन बनाते हैं। और हमें आउटपुट के कुछ रूप भी चाहिए; मशीन कम से कम हमें "हां", "नहीं", या "रुको, मैं अभी भी चल रहा हूं" बताने में सक्षम हो सकता हूं।
दूसरे शब्दों में, एक ही तरीका है कि सात निर्देश व्यावहारिक रूप से काम कर सकते हैं यदि वे एक बड़ी मशीन में होस्ट किए जाते हैं जो पर्यावरण प्रदान करता है।
यह भी ध्यान दें कि ग्राहम के सात प्राइमेटिक्स में संख्याओं के लिए कोई स्पष्ट समर्थन नहीं है, इसलिए आपको उन्हें फ़ंक्शन ("चर्च अंक" तकनीक) से बाहर करना होगा। कोई भी उत्पादन लिस्प कार्यान्वयन ऐसा पागल काम नहीं करता है।