<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>8-bit MicrocontrollersのトピックMC9S08 - Assembly or C - Complete novice</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137095#M4599</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN style=": ; color: #000000; font-size: 3; font-family: 'Times New Roman';"&gt;Hi. I’m planning on learning to use the S08 microcontroller. I have no experience of assembly or C. So what would you recommend for learning about embedded C and the S08? I would appreciate any links or advice.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style=": ; color: #000000; font-size: 3; font-family: 'Times New Roman';"&gt;Added part number to subject.&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Message Edited by NLFSJ on &lt;/SPAN&gt;&lt;SPAN class="date_text"&gt;2007-06-16&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;07:44 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 17 Jun 2007 04:47:09 GMT</pubDate>
    <dc:creator>jart</dc:creator>
    <dc:date>2007-06-17T04:47:09Z</dc:date>
    <item>
      <title>MC9S08 - Assembly or C - Complete novice</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137095#M4599</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN style=": ; color: #000000; font-size: 3; font-family: 'Times New Roman';"&gt;Hi. I’m planning on learning to use the S08 microcontroller. I have no experience of assembly or C. So what would you recommend for learning about embedded C and the S08? I would appreciate any links or advice.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style=": ; color: #000000; font-size: 3; font-family: 'Times New Roman';"&gt;Added part number to subject.&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Message Edited by NLFSJ on &lt;/SPAN&gt;&lt;SPAN class="date_text"&gt;2007-06-16&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;07:44 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 17 Jun 2007 04:47:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137095#M4599</guid>
      <dc:creator>jart</dc:creator>
      <dc:date>2007-06-17T04:47:09Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08 - Assembly or C - Complete novice</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137096#M4600</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Hi &lt;SPAN&gt;jart&lt;/SPAN&gt;&lt;BR /&gt;As a assembler freak i would have to say ASSEMBLER, but since i have seen, that a lot of users don't even know the assembly language, i have begun writing my programs in C (Including my simple OS, EBS08). First i was&amp;nbsp; afraid&amp;nbsp; to get large programs, but i must say the &lt;SPAN&gt;CWs&lt;/SPAN&gt; C compiler is very efficient!!!&lt;BR /&gt;&lt;BR /&gt;So my advise: is do it in C!&lt;BR /&gt;&lt;BR /&gt;Why not have a look at EBS08C for getting an idea, you may also look at the ASM version to compare C and ASM.&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Saluti&lt;/SPAN&gt; &lt;SPAN&gt;Joerg&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 17 Jun 2007 23:00:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137096#M4600</guid>
      <dc:creator>joerg</dc:creator>
      <dc:date>2007-06-17T23:00:35Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08 - Assembly or C - Complete novice</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137097#M4601</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Have a look here for training courses on the S08 &lt;A href="http://www.embeddedlearningcenter.com/scripts/tol.exe?SID,13586.16802.20040716&amp;amp;CONFIG,pc-freescale.txt&amp;amp;TEMPLATE,pc_main.ops&amp;amp;AREA,39&amp;amp;obj,14" rel="nofollow" target="_blank"&gt;http://www.embeddedlearningcenter.com/scripts/tol.exe?SID,13586.16802.20040716&amp;amp;CONFIG,pc-freescale.txt&amp;amp;TEMPLATE,pc_main.ops&amp;amp;AREA,39&amp;amp;obj,14&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;and here for one on C and Codewarrior &lt;A href="http://www.embeddedlearningcenter.com/scripts/tol.exe?SID,13586.16802.20040716&amp;amp;CONFIG,pc-freescale.txt&amp;amp;TEMPLATE,pc_main.ops&amp;amp;AREA,39&amp;amp;obj,594" rel="nofollow" target="_blank"&gt;http://www.embeddedlearningcenter.com/scripts/tol.exe?SID,13586.16802.20040716&amp;amp;CONFIG,pc-freescale.txt&amp;amp;TEMPLATE,pc_main.ops&amp;amp;AREA,39&amp;amp;obj,594&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;good luck.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Jun 2007 21:33:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137097#M4601</guid>
      <dc:creator>freegeek</dc:creator>
      <dc:date>2007-06-18T21:33:12Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08 - Assembly or C - Complete novice</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137098#M4602</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;OK, you said you wanted to &lt;B&gt;learn&lt;/B&gt; how to use &lt;B&gt;the S08&lt;/B&gt;.&amp;nbsp; This is a different task from learning how to program (irrespective of language).&lt;BR /&gt;&lt;BR /&gt;So, start with the S08 Reference Manual (HCS08RMV1.PDF or something like this.)&lt;BR /&gt;&lt;BR /&gt;If you manage to go through the whole book, you will have no choice but to encounter all the available instructions and their addressing modes.&lt;BR /&gt;&lt;BR /&gt;Can you program using some third language (other than C or assembly?)&amp;nbsp; If so, you already know programming, and you just need to learn a new language.&amp;nbsp; Ah, but you just did by reading the S08 Reference manual.&amp;nbsp; So, you're already closer to assembly than C.&lt;BR /&gt;&lt;BR /&gt;But if you meant you do not know how to program in any language, this is a whole different game.&amp;nbsp; Start with some good beginner books on programming and a very basic language (like BASIC) to get a good grasp of the various primary programming concepts.&lt;BR /&gt;&lt;BR /&gt;So, what will it be then in the end, assembly or C?&amp;nbsp; Everything else being equal (e.g., competence level),&lt;BR /&gt;&lt;BR /&gt;Best reasons to use assembly:&lt;BR /&gt;&lt;BR /&gt;* Absolute control of all aspects of your coding (think of it as the WYSIWYG of programming).&lt;BR /&gt;* Much faster overall performance of your code (i.e., more job done for the same unit of time).&lt;BR /&gt;* Much shorter code (i.e., smaller device and cost for the same job).&lt;BR /&gt;&lt;BR /&gt;Best reasons to use C:&lt;BR /&gt;&lt;BR /&gt;* Be liked by other C programmers.&lt;BR /&gt;* Understand and/or use their code snippets posted in their messages.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Sorry if I appear a little biased &lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by tonyp on &lt;SPAN class="date_text"&gt;2007-06-20&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;12:26 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Jun 2007 16:08:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137098#M4602</guid>
      <dc:creator>tonyp</dc:creator>
      <dc:date>2007-06-20T16:08:11Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08 - Assembly or C - Complete novice</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137099#M4603</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;HR /&gt;tonyp wrote:&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Best reasons to use assembly:&lt;BR /&gt;&lt;BR /&gt;* Absolute control of all aspects of your coding (think of it as the WYSIWYG of programming).&lt;BR /&gt;* Much faster overall performance of your code (i.e., more job done for the same unit of time).&lt;BR /&gt;* Much shorter code (i.e., smaller device and cost for the same job).&lt;BR /&gt;&lt;BR /&gt;Best reasons to use C:&lt;BR /&gt;&lt;BR /&gt;* Be liked by other C programmers.&lt;BR /&gt;* Understand and/or use their code snippets posted in their messages.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Sorry if I appear a little biased &lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;Oh, I love this, can I quote you on this? I think I am going to frame it and hang it on the wall. (Timber frame, no an HTML one)&lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;P.S. For those that may have missed the point,&amp;nbsp;you will notice there is no technical reason offerred to use C.&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Jun 2007 09:37:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137099#M4603</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2007-06-21T09:37:35Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08 - Assembly or C - Complete novice</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137100#M4604</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;I would like to add a few:&lt;BR /&gt;&lt;BR /&gt;Best reasons to use assembly:&lt;BR /&gt;&lt;BR /&gt;* Non-portable, meaning you as a programmer will be invaluable to your boss and hard to replace.&lt;BR /&gt;* You support Freescale by making it nearly impossible to replace the MCU.&lt;BR /&gt;* Makes sure there is plenty of work for you if your boss still decides to port the code to another MCU.&lt;BR /&gt;* No need to read or follow annoying standards.&lt;BR /&gt;* You won't be tempted to waste money on the source code for that IP-stack or that CANopen port, since you will have to write them yourself.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Jun 2007 16:36:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137100#M4604</guid>
      <dc:creator>Lundin</dc:creator>
      <dc:date>2007-06-21T16:36:15Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08 - Assembly or C - Complete novice</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137101#M4605</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;Lundin wrote:&lt;BR /&gt;I would like to add a few:&lt;BR /&gt;&lt;BR /&gt;Best reasons to use assembly:&lt;BR /&gt;&lt;BR /&gt;* Non-portable, meaning you as a programmer will be invaluable to your boss and hard to replace.&lt;BR /&gt;* You support Freescale by making it nearly impossible to replace the MCU.&lt;BR /&gt;* Makes sure there is plenty of work for you if your boss still decides to port the code to another MCU.&lt;BR /&gt;* No need to read or follow annoying standards.&lt;BR /&gt;* You won't be tempted to waste money on the source code for that IP-stack or that CANopen port, since you will have to write them yourself.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;You seem to try to list the "worst" reasons to use assembly, not the best.&amp;nbsp; Still,...&lt;BR /&gt;&lt;BR /&gt;Your first point, job security, is indeed a "good reason" for the programmer, "not so good reason" for the employer.&amp;nbsp; But, on the other hand, doesn't using C that everyone is supposed to know make one very volatile (replaceable)?&amp;nbsp; So, you can add this one to the worst reasons to use C.&lt;BR /&gt;&lt;BR /&gt;A boss that decides to use another MCU without technical merit (which if there was, means a bad choice was made in the original design) can only have cost in mind.&amp;nbsp; And that could have been avoided if the application was in assembly language in the first place (read again best reasons to use assembly)!&lt;BR /&gt;&lt;BR /&gt;Your last two points contradict each other.&amp;nbsp; If you don't need to read standards how are you going to write that IP stack?&amp;nbsp;&amp;nbsp; In general, the more low-level one has to get, the more technical one becomes, which I don't consider a bad thing.&amp;nbsp; So, this argument is moot.&amp;nbsp; (Unless by "standards" you meant the C language itself, in which case I wholeheartedly agree; it IS an annoying standard.)&lt;BR /&gt;&lt;BR /&gt;Portable?&amp;nbsp; Why?&amp;nbsp; You can port from any S08 to any other S08 with minimal effort.&amp;nbsp; And there are so many of them to choose from.&amp;nbsp; If, however, you belong in that category where every application is written for a different MCU family, then C is certainly good for you.&amp;nbsp; I tend to stick to a few MCUs, usually related because it's not just the cost of porting to consider (which isn't zero with C either), but also the cost of tools (different programmers, emulators, software, etc.) and the cost of learning diffrerent (sometimes widely different) architectures (even when programming in C).&lt;BR /&gt;&lt;BR /&gt;Anyway, assembly-or-C is an never-ending "war".&amp;nbsp; I don't think it can be settled here and now.&amp;nbsp; Everyone should use what they feel comfortable with.&lt;BR /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Jun 2007 18:20:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08-Assembly-or-C-Complete-novice/m-p/137101#M4605</guid>
      <dc:creator>tonyp</dc:creator>
      <dc:date>2007-06-21T18:20:10Z</dc:date>
    </item>
  </channel>
</rss>

