मोटोरोला S08

9S08 (68HCS08 या संक्षेप में S08) एक 8 बिट microcontroller  (µC) परिवार है जो मूल रूप से  MOTOROLA  द्वारा निर्मित किया गया था, बाद में फ्रीस्केल सेमीकंडक्टर द्वारा, और वर्तमान में NXP द्वारा, Motorola 6800 माइक्रोप्रोसेसर से उतारा गया। यह एक जटिल निर्देश सेट कंप्यूटर माइक्रोकंट्रोलर है। फ्रीस्केल 68HC08 का थोड़ा विस्तारित संस्करण, यह उम्र बढ़ने वाले मोटोरोला 68HC05 माइक्रोकंट्रोलर्स के साथ ऊपर की ओर संगतता साझा करता है, और लगभग किसी भी प्रकार के एम्बेडेड सिस्टम में पाया जाता है। बड़े सदस्य एक साधारण  स्मृति प्रबंधन इकाई  (MMU) के माध्यम से 128 KiB तक की फ्लैश मेमोरी, और 8 KiB  रैंडम एक्सेस मेमोरी  की पेशकश करते हैं जो  बैंक स्विचिंग  की अनुमति देता है 16 KiB पता स्थान और एक पता/डेटा रजिस्टर जोड़ी जो डेटा की अनुमति देता है किसी भी पते से लाता है। उपयोग की गई पेजिंग योजना सैद्धान्तिक रूप से अधिकतम 4 एमबी फ्लैश की अनुमति देती है। एमएमयू-सुसज्जित वेरिएंट दो अतिरिक्त सीपीयू निर्देश, कॉल और आरटीसी प्रदान करते हैं, जो क्रमशः जेएसआर और आरटीएस के बजाय उपयोग किए जाते हैं, जब पृष्ठ-टू-पेज सबरूटीन कॉल की अनुमति देते हुए पेजेड मेमोरी में सबरूटीन्स के साथ काम करते हैं। एक परमाणु ऑपरेशन में, कॉल सहेजता है और आरटीसी न केवल पीसी को पुनर्स्थापित करता है बल्कि एक अतिरिक्त पता बाइट, पीपीएजी (प्रोग्राम पेज) बाइट भी करता है। इस अतिरिक्त बाइट के कारण, और स्टैक को संतुलित रखने के लिए, RTC के साथ समाप्त होने वाले सबरूटीन को हमेशा CALL के साथ कॉल किया जाना चाहिए, भले ही वह उसी मेमोरी पेज में रहता हो।

आंतरिक रूप से, 9S08 निर्देश सेट 6805 के साथ ऊपर की ओर संगत है, जिसमें कॉल स्टैक अनुक्रमित एड्रेसिंग मोड शामिल हैं। (एसपी प्रोसेसर रजिस्टर का उपयोग करने वाले निर्देशों में 0x9E बाइट के साथ opcode हैं)। इसमें एक आठ-बिट संचायक (कंप्यूटिंग), ए, एक सोलह-बिट सूचकांक रजिस्टर, एचएक्स (जिसका निचला आधा, एक्स, 6805-संगत निर्देशों द्वारा अलगाव में उपयोग किया जाता है), एक स्थिति कोड रजिस्टर, एक 16-बिट स्टैक है। सूचक, और एक  कार्यक्रम गणक । 6805 के साथ संगतता के लिए जिसमें एच रजिस्टर नहीं है, एचएक्स रजिस्टर का सबसे महत्वपूर्ण बाइट, एच, रीसेट के दौरान साफ़ किया गया है, और एच एकमात्र रजिस्टर है जो किसी भी आईएसआर (इंटरप्ट हैंडलर) में प्रवेश करते समय स्वचालित रूप से स्टैक नहीं किया जाता है।  6805 के विपरीत, स्टैक को उचित निर्देशों का उपयोग करके मेमोरी में कहीं भी रखा जा सकता है।

9S08 परिवार की प्रोग्रामिंग या डिबगिंग की मानक विधि एक मानक छह-पिन पृष्ठभूमि डिबग मोड इंटरफ़ेस इंटरफ़ेस (माइक्रोकंट्रोलर के साथ संचार के लिए केवल एक पिन का उपयोग किया जाता है) के माध्यम से है।

विभिन्न सदस्यों और/या पैकेजों के लिए पेरिफेरल्स की विस्तृत विविधता उपलब्ध है। एससीआई, एसपीआई, 8/10/12-बिट ए/डी, (सी) पीडब्लूएम, इनपुट कैप्चर और आउटपुट तुलना अधिकांश सदस्यों के साथ आम हैं, लेकिन कोई बाहरी बस उपलब्ध नहीं है। कुछ सदस्य एक अंतर्निहित CAN_bus नियंत्रक के साथ आते हैं।

संकलक समर्थन
S08 आंशिक रूप से मुफ़्त C कंपाइलर Small_Device_C_Compiler द्वारा और पूरी तरह से CodeWarrior द्वारा समर्थित है (जैसे, कोई MMU समर्थन नहीं)।

बाहरी संबंध

 * HCS08/9S08 Processor Families
 * Win/Linux/DOS-based freeware macro cross-assembler (ASM8)
 * Example assembly language code written for ASM8