मैंने कॉलेज में 68HC11 पर सीखा। वे काम करने के लिए बहुत सरल हैं लेकिन ईमानदारी से सबसे कम संचालित माइक्रोकंट्रोलर समान होंगे (एवीआर, 8051, पीआईसी, एमएसपी 430)। माइक्रोकंट्रोलर्स के लिए एएसएम प्रोग्रामिंग में जटिलता जोड़ने वाली सबसे बड़ी बात यह है कि समर्थित मेमोरी एड्रेसिंग मोड्स की संख्या और प्रकार । आपको पहले अधिक जटिल उपकरणों से बचना चाहिए जैसे कि उच्च अंत एआरएम प्रोसेसर।
मैं शायद MSP430 को एक अच्छे शुरुआती बिंदु के रूप में सुझाऊँगा। हो सकता है कि C में एक प्रोग्राम लिखें और इनलाइन असेंबली के साथ विभिन्न कार्यों को प्रतिस्थापित करके सीखें। सरल शुरू करें, x + y = z, आदि।
आपके द्वारा किसी फ़ंक्शन या एल्गोरिथ्म को असेंबली से बदलने के बाद, तुलना करें और इसके विपरीत कि आपने इसे कैसे कोडित किया और C संकलक ने क्या उत्पन्न किया। यह शायद मेरी राय में विधानसभा सीखने के बेहतर तरीकों में से एक है और साथ ही साथ यह भी सीखता है कि एक संकलक कैसे काम करता है जो एक एम्बेडेड प्रोग्रामर के रूप में अविश्वसनीय रूप से मूल्यवान है। बस सुनिश्चित करें कि आप पहली बार C कंपाइलर में ऑप्टिमाइज़ेशन बंद कर देते हैं या आप संभवतः कंपाइलर के उत्पन्न कोड से बहुत भ्रमित होंगे। धीरे-धीरे अनुकूलन को चालू करें और ध्यान दें कि संकलक क्या करता है।
RISC बनाम CISC
RISC का अर्थ है 'कम किया गया इंस्ट्रक्शन सेट कम्प्यूटिंग' यह एक विशेष निर्देश सेट का उल्लेख नहीं करता है, लेकिन सिर्फ एक डिज़ाइन रणनीति है जो कहती है कि CPU में एक न्यूनतम निर्देश सेट है। कुछ निर्देश है कि प्रत्येक कुछ बुनियादी करते हैं। क्या यह 'RISC होने के लिए' की कोई तकनीकी परिभाषा नहीं है। दूसरी ओर CISC आर्किटेक्चर के पास बहुत सारे निर्देश हैं, लेकिन प्रत्येक 'अधिक' करता है।
आरआईएससी के शुद्ध लाभ यह हैं कि आपके सीपीयू डिज़ाइन को कम ट्रांजिस्टर की आवश्यकता होती है जिसका अर्थ है कम बिजली का उपयोग (माइक्रोकंट्रोलर्स के लिए बड़ा), बनाने के लिए सस्ता और उच्च प्रदर्शन के लिए उच्च घड़ी दर। कम बिजली का उपयोग और सस्ता विनिर्माण आम तौर पर सच है, CISC आर्किटेक्चर में डिजाइन सुधार के परिणामस्वरूप अधिक से अधिक प्रदर्शन वास्तव में लक्ष्य तक नहीं रहते हैं।
लगभग सभी CPU कोर आज RISC या 'मिडिल ग्राउंड' डिज़ाइन हैं। यहां तक कि सबसे प्रसिद्ध (या कुख्यात) CISC वास्तुकला, x86 के साथ। आधुनिक x86 सीपीयू आंतरिक रूप से आरआईएससी होते हैं जैसे कोर के साथ डिकोडर सामने के छोर पर बोल्ट होता है जो निर्देशों की तरह कई आरआईएससी को x86 निर्देश को तोड़ता है। मुझे लगता है कि इंटेल इन 'माइक्रो-ऑप्स' को बुलाता है।
जैसा कि (RISC बनाम CISC) असेंबली में सीखना आसान है, मुझे लगता है कि यह टॉस है। RISC निर्देश सेट के साथ कुछ करना आम तौर पर CISC निर्देश सेट के साथ समान कार्य करने की तुलना में विधानसभा की अधिक पंक्तियों की आवश्यकता होती है। दूसरी ओर CISC निर्देश सेट उपलब्ध निर्देशों की अधिक संख्या के कारण सीखने के लिए अधिक जटिल हैं।
अधिकांश कारण CISC का एक बुरा नाम है कि x86 सबसे सामान्य उदाहरण है और इसके साथ काम करने में थोड़ी गड़बड़ है। मुझे लगता है कि ज्यादातर x86 के निर्देशों का एक परिणाम है जो बहुत पुराना है और पिछड़े संगतता को बनाए रखते हुए आधा दर्जन या अधिक बार विस्तारित किया गया है। यहां तक कि आपका 4.5Ghz कोर i7 286 मोड में चल सकता है (और बूट में)।
एआरएम के रूप में एक आरआईएससी वास्तुकला होने के नाते, मैं उस मामूली बहस योग्य पर विचार करूंगा। यह निश्चित रूप से एक लोड-स्टोर वास्तुकला है। आधार अनुदेश सेट RISC की तरह है, लेकिन हाल के संशोधनों में अनुदेश सेट काफी हद तक बढ़ गया है, जहां मैं व्यक्तिगत रूप से इसे RISC और CISC के बीच के बीच के मैदान के रूप में मानता हूं। अंगूठा निर्देश सेट वास्तव में एआरएम अनुदेश सेट का सबसे 'रिसक' है।