title: Why is this condition always true?
body: <p>Language: C
  PIC: 16F84A
  <strong>Programm:CCS PCW</strong></p>
  
  <p>When I compile the following code, my compiler complains that the FOR is always true(Maybe the int i doesnt support negative values?):</p>
  
  <pre><code>#include &lt;16F84A.h&gt;
  #FUSES XT
  #use delay(clock=4M)
  byte const display[10] = {63,6,91,79,102,109,124,7,127,103};
  
  void main()
  {
     set_tris_b(0);
     while(True)
     {
     int i;
        for(i=9;i&gt;=0;--i)
        {
           output_b(display[i]);
           delay_ms(300);
        }
     }
  }
  </code></pre>
  
  <p>Its PIC Countdown project, so:
  9,8,7,6,5,4,3,2,1,0,9,8,7,6,5,4,3,2,1,0,9,8,7,6,...
  but its stops after the first cycle.</p>