मैं किताब पढ़ रहा हूं द कम्प्युटिंग ऑफ कम्प्युटिंग सिस्टम्स: बिल्डिंग ए मॉडर्न कम्प्यूटर फ्रॉम फर्स्ट प्रिंसीपल्स , जिसमें बूलियन गेट्स से लेकर हाई लेवल एप्लीकेशंस (उस क्रम में) तक सभी तरह के कंप्यूटर का निर्माण शामिल है। वर्तमान परियोजना जिस पर मैं काम कर रहा हूं, वह असेंबली को मेरी पसंद की उच्च स्तरीय भाषा का उपयोग करके हैक असेंबली कोड से हैक मशीन कोड (हैक पिछले अध्याय में निर्मित हार्डवेयर प्लेटफॉर्म का नाम है) का अनुवाद करने के लिए लिख रहा है। यद्यपि हार्डवेयर सभी को एक सिम्युलेटर में बनाया गया है, मैंने यह ढोंग करने की कोशिश की है कि मैं वास्तविक स्तर पर उस बिंदु पर केवल मेरे लिए उपलब्ध उपकरणों का उपयोग करके प्रत्येक स्तर का निर्माण कर रहा हूं।
उस ने कहा, यह मुझे सोच में पड़ गया। मेरे असेम्बलर को लिखने के लिए एक उच्च स्तरीय भाषा का उपयोग करना निश्चित रूप से सुविधाजनक है, लेकिन पहले लिखे गए असेंबलर के लिए (यानी इतिहास में), क्या इसे मशीन कोड में लिखने की आवश्यकता नहीं होगी, क्योंकि यह सब उस समय अस्तित्व में है?
और एक सहसंबद्ध प्रश्न ... आज के बारे में कैसे? यदि एक ब्रांड का नया सीपीयू आर्किटेक्चर, एक नया निर्देश सेट, और एक नया असेंबली सिंटैक्स के साथ आता है, तो कोडांतरक का निर्माण कैसे किया जाएगा? मैं मान रहा हूं कि आप अभी भी असेंबली प्रोग्राम के लिए बायनेरिज़ बनाने के लिए एक मौजूदा उच्च स्तरीय भाषा का उपयोग कर सकते हैं, क्योंकि यदि आप अपने नए प्लेटफॉर्म के लिए असेंबली और मशीन दोनों भाषाओं के सिंटैक्स को जानते हैं, तो असेंबलर लिखने का कार्य वास्तव में सिर्फ एक है पाठ विश्लेषण कार्य और स्वाभाविक रूप से उस प्लेटफ़ॉर्म से संबंधित नहीं है (अर्थात उस प्लेटफ़ॉर्म की मशीन की भाषा में लिखे जाने की आवश्यकता है) ... जो कि बहुत ही कारण है कि मैं 2012 में अपने हैक असेंबलर को लिखते समय "धोखा" देने में सक्षम हूं, और कुछ preexisting का उपयोग करता हूं मुझे मदद करने के लिए उच्च स्तरीय भाषा।