<?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のトピックRe: Problem using Device Initialisation fin Freescale CodeWarrior 5</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127725#M1463</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi, Mingyee:&lt;BR /&gt;&lt;BR /&gt;Whenever a symbol is DEFINED in one module, but REFERENCED in a different module, the assembler need to be told about it, using XDEF and XREF.&lt;BR /&gt;&lt;BR /&gt;To tell the assembler that a DEFINITION of a symbol in this module needs to be referenced by other modules, you would use XDEF.&lt;BR /&gt;&lt;BR /&gt;To tell the assembler that a REFERENCE to a symbol in this module is defined in another module, you would use XREF.&lt;BR /&gt;&lt;BR /&gt;In your case, the variable "flag" is defined in one module, but referenced in another. So your code becomes:&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;DIV&gt;;constant&lt;/DIV&gt;&lt;DIV&gt;&lt;B&gt;XDEF flag&lt;/B&gt;&lt;/DIV&gt;&lt;DIV&gt;sw0 equ 0&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;sw1 equ 1&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;sw2 equ 2&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;flag ds 1&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;main&lt;/DIV&gt;&lt;DIV&gt;;main program goes here&lt;/DIV&gt;&lt;DIV&gt;mainend jmp main&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;----------------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;;all the I/O inits &amp;amp; interrupt vectors are here &amp;amp; other interrupt routines.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;B&gt;XREF flag&lt;/B&gt;&lt;BR /&gt;isrVkeyboard:&lt;BR /&gt;; Write your interrupt code here ...&lt;BR /&gt;&lt;BR /&gt;bclr $02,KBISC ;clr the interrupt flag&lt;BR /&gt;bset sw0,flag&lt;BR /&gt;rti&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;Sorry if the board messed up your formatting. I have not figured out the HTML yet.&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 02 Mar 2006 12:43:21 GMT</pubDate>
    <dc:creator>rocco</dc:creator>
    <dc:date>2006-03-02T12:43:21Z</dc:date>
    <item>
      <title>Problem using Device Initialisation fin Freescale CodeWarrior 5</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127720#M1458</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN style="font-size: 2;"&gt;I've some question to ask about using the device initialisation from Freescale CodeWarrior 5.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 2;"&gt;1. I initialise the MCU using device initialisation. (It will generate a file called MCUinit.asm under Generated Code)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 2;"&gt;2. I'm using a SW2 of DEMO9S08QG8 as KBIP2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 2;"&gt;3. When interupt it jump to isrVkeyboard at MCUinit.asm.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 2;"&gt;4. I dun intend to do the entire routine under isrVkeyboard.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 2;"&gt;5. I intend to set a flag at isrVkeyboard then RTI. (the flag is declared in main.asm)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 2;"&gt;As I compile it, it couldn't be recognised at MCUinit.asm (undeclared user defined symbol). May I know how do I share the flag I declared in main.asm in MCUinit.asm. Thanks.&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;Message Edited by mingyee on &lt;SPAN class="date_text"&gt;03-01-2006&lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;05:38 AM&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Mar 2006 19:36:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127720#M1458</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2006-03-01T19:36:54Z</dc:date>
    </item>
    <item>
      <title>Re: Problem using Device Initialisation fin Freescale CodeWarrior 5</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127721#M1459</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I assume you are using CodeWarrior to build. AM I right?&lt;/DIV&gt;&lt;DIV&gt;Did you tell the assembler to make the flag visible from outside of the assembly module.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;You just need to add the directive XDEF for the flag at the beginning of the file.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;For example if the flag is called myFlag, add the following at the beginning of the&lt;/DIV&gt;&lt;DIV&gt;assembly source file:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;XDEF myFlag&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I hope this helps&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;CrasyCat&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Mar 2006 20:47:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127721#M1459</guid>
      <dc:creator>CrasyCat</dc:creator>
      <dc:date>2006-03-01T20:47:06Z</dc:date>
    </item>
    <item>
      <title>Re: Problem using Device Initialisation fin Freescale CodeWarrior 5</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127722#M1460</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Thanks for you reply. You are right. I'm using CodeWarrior 5. The XDEF command i should put it in my 'main.asm' or my generated file by Device Initialisation 'MCUinit.asm' ?Thanks.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Mar 2006 23:36:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127722#M1460</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2006-03-01T23:36:25Z</dc:date>
    </item>
    <item>
      <title>Re: Problem using Device Initialisation fin Freescale CodeWarrior 5</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127723#M1461</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;In fact you should add the XDEF in the assembler file where you have defined the flag. Definition is probably done using DS directive&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Not sure where this is.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;CrasyCat&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Mar 2006 01:57:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127723#M1461</guid>
      <dc:creator>CrasyCat</dc:creator>
      <dc:date>2006-03-02T01:57:42Z</dc:date>
    </item>
    <item>
      <title>Re: Problem using Device Initialisation fin Freescale CodeWarrior 5</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127724#M1462</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;I declared my flags as below;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;lt;main.asm&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;;constant&lt;/DIV&gt;&lt;DIV&gt;sw0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp; 0&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;sw1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp; 1&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;sw2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp; 2&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;flag&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;main&lt;/DIV&gt;&lt;DIV&gt;;main program goes here&lt;/DIV&gt;&lt;DIV&gt;mainend&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jmp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; main&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;----------------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;&amp;lt;MCUinit.asm&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;;all the I/O inits &amp;amp; interupt vectors are here &amp;amp; other interupt routines.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;XDEF&amp;nbsp;&amp;nbsp;&amp;nbsp; isrVkeyboard&lt;BR /&gt;isrVkeyboard:&lt;BR /&gt;&amp;nbsp;; Write your interrupt code here ...&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bclr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $02,KBISC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;;clr the&amp;nbsp;interupt flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bset&amp;nbsp;&amp;nbsp;&amp;nbsp; sw0,flag&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rti&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;actually where should i put it? under my main.asm or MCUinit.asm? Thanks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Mar 2006 09:34:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127724#M1462</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2006-03-02T09:34:55Z</dc:date>
    </item>
    <item>
      <title>Re: Problem using Device Initialisation fin Freescale CodeWarrior 5</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127725#M1463</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi, Mingyee:&lt;BR /&gt;&lt;BR /&gt;Whenever a symbol is DEFINED in one module, but REFERENCED in a different module, the assembler need to be told about it, using XDEF and XREF.&lt;BR /&gt;&lt;BR /&gt;To tell the assembler that a DEFINITION of a symbol in this module needs to be referenced by other modules, you would use XDEF.&lt;BR /&gt;&lt;BR /&gt;To tell the assembler that a REFERENCE to a symbol in this module is defined in another module, you would use XREF.&lt;BR /&gt;&lt;BR /&gt;In your case, the variable "flag" is defined in one module, but referenced in another. So your code becomes:&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;DIV&gt;;constant&lt;/DIV&gt;&lt;DIV&gt;&lt;B&gt;XDEF flag&lt;/B&gt;&lt;/DIV&gt;&lt;DIV&gt;sw0 equ 0&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;sw1 equ 1&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;sw2 equ 2&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;flag ds 1&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;main&lt;/DIV&gt;&lt;DIV&gt;;main program goes here&lt;/DIV&gt;&lt;DIV&gt;mainend jmp main&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;----------------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;;all the I/O inits &amp;amp; interrupt vectors are here &amp;amp; other interrupt routines.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;B&gt;XREF flag&lt;/B&gt;&lt;BR /&gt;isrVkeyboard:&lt;BR /&gt;; Write your interrupt code here ...&lt;BR /&gt;&lt;BR /&gt;bclr $02,KBISC ;clr the interrupt flag&lt;BR /&gt;bset sw0,flag&lt;BR /&gt;rti&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;Sorry if the board messed up your formatting. I have not figured out the HTML yet.&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Mar 2006 12:43:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127725#M1463</guid>
      <dc:creator>rocco</dc:creator>
      <dc:date>2006-03-02T12:43:21Z</dc:date>
    </item>
    <item>
      <title>Re: Problem using Device Initialisation fin Freescale CodeWarrior 5</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127726#M1464</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;FONT size="3"&gt;Hi Rocco, thanks for you advise. I would liek to ask you further as I've tried as you recommended. I'm able to trigger the irq. However when it's in the IRQ routine, it seems to stuck in an infinite loop. Where it hit RTI it does not return to the main program instead it loop back to the irq routine again. May I know wut's going wrong? Thanks.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;&lt;U&gt;&amp;lt;MAIN.asm&amp;gt;&lt;/U&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XDEF _Startup, main,&lt;STRONG&gt;&lt;FONT color="#ff0000"&gt;FLAG,SW2ON&lt;BR /&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT size="1"&gt;&amp;nbsp;XREF MCU_init&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XREF __SEG_END_SSTACK&amp;nbsp;&amp;nbsp; ; symbol defined by the linker for the end of the stack&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;include 'derivative.inc'&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;; variable/data section&lt;BR /&gt;MY_ZEROPAGE: section&amp;nbsp; short&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Insert here your data definition&lt;BR /&gt;;*******************************************************************************&lt;BR /&gt;; constants&lt;BR /&gt;;*******************************************************************************&lt;BR /&gt;SW1ON&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&lt;BR /&gt;&lt;FONT color="#ff0000"&gt;&lt;STRONG&gt;SW2ON&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;BR /&gt;&lt;/STRONG&gt;&lt;/FONT&gt;KBIP2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;;*******************************************************************************&lt;BR /&gt;; start of page zero ram&lt;BR /&gt;;*******************************************************************************&lt;BR /&gt;CNT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT color="#ff0000"&gt;FLAG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;; code section&lt;BR /&gt;MyCode:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; section&lt;BR /&gt;main:&lt;BR /&gt;_Startup:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ldhx&amp;nbsp;&amp;nbsp; #__SEG_END_SSTACK ; initialize the stack pointer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txs&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jsr&amp;nbsp;&amp;nbsp;&amp;nbsp; MCU_init&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clr&amp;nbsp;&amp;nbsp;&amp;nbsp; CNT&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clr&amp;nbsp;&amp;nbsp;&amp;nbsp; FLAG&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cli&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; enable interrupts&lt;BR /&gt;mainLoop:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lda&amp;nbsp;&amp;nbsp; #$00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;feed_watchdog&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jsr&amp;nbsp;&amp;nbsp; tsec&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;detectsw2&amp;nbsp;&amp;nbsp; brset&amp;nbsp; &lt;FONT color="#ff0000"&gt;&lt;STRONG&gt;KBIP2,FLAG,&lt;/STRONG&gt;&lt;/FONT&gt;detectsw2a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;flag from irq&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;mainend&amp;nbsp;&amp;nbsp; jmp main&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;detectsw2a&amp;nbsp; bset&amp;nbsp;&amp;nbsp; PTBD_PTBD7,PTBD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;on LED&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;U&gt;&amp;lt;MCU_init.asm&amp;gt;&lt;/U&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT size="1"&gt;XDEF&amp;nbsp;&amp;nbsp;&amp;nbsp; isrVkeyboard&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;&lt;FONT color="#ff0000"&gt;XREF&amp;nbsp;&amp;nbsp;&amp;nbsp; FLAG,SW2ON&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;isrVkeyboard:&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bclr&amp;nbsp;&amp;nbsp;&amp;nbsp; KBISC_KBACK,KBISC&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;&lt;FONT color="#ff0000"&gt;bset&amp;nbsp;&amp;nbsp;&amp;nbsp; SW2ON,FLAG&lt;BR /&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rti&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Mar 2006 00:51:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127726#M1464</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2006-03-03T00:51:13Z</dc:date>
    </item>
    <item>
      <title>Re: Problem using Device Initialisation fin Freescale CodeWarrior 5</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127727#M1465</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;FONT size="2"&gt;Hello mingyee,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;There seems to be a couple of problems with the code:&lt;/FONT&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;FONT size="2"&gt;I notice that you are looping back to &lt;FONT face="Courier New"&gt;main&lt;/FONT&gt; rather than &lt;FONT face="Courier New"&gt;mainloop&lt;/FONT&gt;, as I might have expected.&amp;nbsp; So the &lt;FONT face="Courier New"&gt;_Startup&lt;/FONT&gt; section is repetitively executed.&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;It is not clear what you do after the instruction to turn on the LED.&amp;nbsp; The program should also eventually loop back to &lt;FONT face="Courier New"&gt;mainloop&lt;/FONT&gt; from this branch.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;FONT size="2"&gt;Regards,&lt;BR /&gt;Mac&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Mar 2006 07:43:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127727#M1465</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2006-03-03T07:43:46Z</dc:date>
    </item>
    <item>
      <title>Re: Problem using Device Initialisation fin Freescale CodeWarrior 5</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127728#M1466</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;Sorry.. I was rather sleepy when i posted tat question. So I screwed up a lil.. the actual code is&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XDEF _Startup, main&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;&lt;FONT color="#ff0000"&gt;&amp;nbsp;&amp;nbsp;XDEF FLAG,SW2ON&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;XREF MCU_init&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XREF __SEG_END_SSTACK&amp;nbsp;&amp;nbsp; ; symbol defined by the linker for the end of the stack&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;include 'derivative.inc'&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;MY_ZEROPAGE: section&amp;nbsp; short&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;; constants&lt;BR /&gt;SW1ON&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT color="#ff0000"&gt;SW2ON&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;BR /&gt;&lt;/FONT&gt;&lt;/STRONG&gt;KBIP2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;; start of page zero ram&lt;BR /&gt;&lt;BR /&gt;CNT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT color="#ff0000"&gt;FLAG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;BR /&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;;code section&lt;BR /&gt;MyCode:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; section&lt;BR /&gt;main:&lt;BR /&gt;_Startup:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ldhx&amp;nbsp;&amp;nbsp; #__SEG_END_SSTACK ; initialize the stack pointer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;txs&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jsr&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;MCU_init&lt;BR /&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clr&amp;nbsp;&amp;nbsp;&amp;nbsp; CNT&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clr&amp;nbsp;&amp;nbsp;&amp;nbsp; FLAG&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cli&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; enable interrupts&lt;BR /&gt;mainLoop:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lda&amp;nbsp;&amp;nbsp; #$00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;feed_watchdog&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jsr&amp;nbsp;&amp;nbsp; tsec&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;detectsw2&amp;nbsp;&amp;nbsp; brset&amp;nbsp; &lt;FONT color="#ff0000"&gt;&lt;STRONG&gt;KBIP2,FLAG,&lt;/STRONG&gt;&lt;/FONT&gt;detectsw2a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;flag from irq&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;detectsw2a&amp;nbsp; bset&amp;nbsp;&amp;nbsp; PTBD_PTBD7,PTBD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;on LED&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;mainend&amp;nbsp;&amp;nbsp; jmp&amp;nbsp; mainLoop&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&amp;lt;MCU_init.asm&amp;gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XDEF&amp;nbsp;&amp;nbsp;&amp;nbsp; isrVkeyboard&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XREF&amp;nbsp;&amp;nbsp;&amp;nbsp; FLAG,SW2ON&lt;BR /&gt;isrVkeyboard:&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bclr&amp;nbsp;&amp;nbsp;&amp;nbsp; KBISC_KBACK,KBISC&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bset&amp;nbsp;&amp;nbsp;&amp;nbsp; $01,FLAG&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rti&lt;/FONT&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Mar 2006 08:52:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127728#M1466</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2006-03-03T08:52:30Z</dc:date>
    </item>
    <item>
      <title>Re: Problem using Device Initialisation fin Freescale CodeWarrior 5</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127729#M1467</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;FONT size="2"&gt;Hello Mingyee,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;The primary reason for the continuously repeating interrupt would seem to be that you are not clearing the KBI&amp;nbsp;flag.&amp;nbsp; You need to write a 1 to the KBACK bit.&amp;nbsp; However, even with this corrected,&amp;nbsp;there will still be multiple interrupts due to switch bounce.&amp;nbsp; To prevent this, you need to disable the keyboard interrupt for the necessary de-bounce period, and then re-enable.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;There also seemed to be other confusion with identification of flag bits.&amp;nbsp; Also I could not understand what you were trying to achieve with the LED.&amp;nbsp; So I have taken the liberty to modify your code to something that addresses these issues.&amp;nbsp; For the purpose of demonstration, pressing S1 should turn-on the LED,&amp;nbsp; and pressing S2 should turn-off the LED.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XDEF _Startup, main&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XDEF FLAG,SW2ON&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XREF MCU_init&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XREF __SEG_END_SSTACK ; end of stack&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;include 'derivative.inc'&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;MY_ZEROPAGE: section&amp;nbsp; short&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;; Constants&lt;BR /&gt;SW1ON&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;BR /&gt;SW2ON&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;BR /&gt;LED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp;&amp;nbsp; PTBD_PTBD7&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;KBIP1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;BR /&gt;KBIP2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;; Start of page zero RAM&lt;BR /&gt;CNT:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;BR /&gt;FLAG:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;; Code section&lt;BR /&gt;MyCode:&amp;nbsp;&amp;nbsp;&amp;nbsp;section&lt;BR /&gt;main:&lt;BR /&gt;_Startup:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ldhx&amp;nbsp;&amp;nbsp; #__SEG_END_SSTACK ; initialize stack pointer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;txs&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;jsr&amp;nbsp;&amp;nbsp;&amp;nbsp; MCU_init&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;clr&amp;nbsp;&amp;nbsp;&amp;nbsp; CNT&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;clr&amp;nbsp;&amp;nbsp;&amp;nbsp; FLAG&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;cli&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; enable interrupts&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;mainLoop:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;feed_watchdog&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;brclr&amp;nbsp; KBIP1,FLAG,cont_1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bclr&amp;nbsp;&amp;nbsp; KBIP1,FLAG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Clear flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bset&amp;nbsp;&amp;nbsp; LED,PTBD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Turn-on LED&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;jsr&amp;nbsp;&amp;nbsp;&amp;nbsp; tsec&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Key de-bounce delay&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bset&amp;nbsp;&amp;nbsp; KBISC_KBACK,KBISC; Clear KBI flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bset&amp;nbsp;&amp;nbsp; KBISC_KBIE,KBISC ; Re-enable KBI interrupt&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bra&amp;nbsp;&amp;nbsp;&amp;nbsp; mainLoop&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;cont_1:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;brclr&amp;nbsp; KBIP2,FLAG,cont_2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bclr&amp;nbsp;&amp;nbsp; KBIP2,FLAG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Clear flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bclr&amp;nbsp;&amp;nbsp; LED,PTBD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Turn-off LED&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;jsr&amp;nbsp;&amp;nbsp;&amp;nbsp; tsec&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Key de-bounce delay&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bset&amp;nbsp;&amp;nbsp; KBISC_KBACK,KBISC; Clear KBI flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bset&amp;nbsp;&amp;nbsp; KBISC_KBIE,KBISC ; Re-enable KBI interrupt&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bra&amp;nbsp;&amp;nbsp;&amp;nbsp; mainLoop&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;cont_2:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;; Other code within mainLoop could go here.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;mainend:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;jmp&amp;nbsp;&amp;nbsp;&amp;nbsp; mainLoop&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&lt;FONT color="#009933"&gt;&amp;lt;MCU_init.asm&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XDEF&amp;nbsp;&amp;nbsp; isrVkeyboard&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XREF&amp;nbsp;&amp;nbsp; FLAG,SW1ON,SW2ON,KBIP1,KBIP2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="2"&gt;isrVkeyboard:&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bset&amp;nbsp;&amp;nbsp; KBISC_KBACK,KBISC; Clear KBI flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bclr&amp;nbsp;&amp;nbsp; KBISC_KBIE,KBISC ; Disable KBI interrupts&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;brclr&amp;nbsp; SW1ON,PTAD,*+5&amp;nbsp;&amp;nbsp; ; Skip next if not SW1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bset&amp;nbsp;&amp;nbsp; KBIP1,FLAG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Set SW1 flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;brclr&amp;nbsp; SW2ON,PTAD,*+5&amp;nbsp;&amp;nbsp; ; Skip next if not SW2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;bset&amp;nbsp;&amp;nbsp; KBIP2,FLAG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Set SW2 flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;rti&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;It is assumed that the routine &lt;STRONG&gt;MCU_init&lt;/STRONG&gt; correctly initializes the KBI module, and that the routine &lt;STRONG&gt;tsec&lt;/STRONG&gt; provides a suitable de-bounce delay (20-100 milliseconds), and is actually located in the main .asm file. Another assumption is that the switches pull the input high when activated.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Regards,&lt;BR /&gt;Mac&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Mar 2006 18:27:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127729#M1467</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2006-03-03T18:27:27Z</dc:date>
    </item>
    <item>
      <title>Re: Problem using Device Initialisation fin Freescale CodeWarrior 5</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127730#M1468</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Once again, thank you very much bigmac. I finally got it. &lt;IMG alt=":smileyvery-happy:" class="emoticon emoticon-smileyvery-happy" id="smileyvery-happy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-very-happy.gif" title="Smiley Very Happy" /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Mar 2006 19:57:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Problem-using-Device-Initialisation-fin-Freescale-CodeWarrior-5/m-p/127730#M1468</guid>
      <dc:creator>mylim</dc:creator>
      <dc:date>2006-03-03T19:57:57Z</dc:date>
    </item>
  </channel>
</rss>

