Way to find location of the first 1 bit from MSB

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Way to find location of the first 1 bit from MSB

Jump to solution
4,107 Views
Gildarai
Contributor II

I use s12zvml and Code warrior for MCU v11.1.

I want to make a code to find first bit value is 1 from MSB.

And I try to use assembly or builtin function such like "__builtin_fbcl" from xc16. because of it have to called rapidly periodic, I'm tring to reduce execution time.

Please help me.

Tags (3)
0 Kudos
Reply
1 Solution
3,867 Views
fqh
Contributor II

Hi,

You can use CLB (Count Leading Sign-Bits) instruction to get the leading bit position. But there is no intrinsic function to do this. Embedded asm is a better solution.

#define findLeadingBit32(val, num) {asm LD D6, val; asm CLB D6, D0; asm LD D1, #30; asm SUB D1, D0; asm ST D1, num;}

U8 numbit;
U32 value;

value = 0x8000;

findLeadingBit32(value, numbit);

NOTE: for 16 bits or 8 bits, the macro should be changed accordingly. If value is 0, numbit will be 0xFF.

View solution in original post

0 Kudos
Reply
4 Replies
3,868 Views
fqh
Contributor II

Hi,

You can use CLB (Count Leading Sign-Bits) instruction to get the leading bit position. But there is no intrinsic function to do this. Embedded asm is a better solution.

#define findLeadingBit32(val, num) {asm LD D6, val; asm CLB D6, D0; asm LD D1, #30; asm SUB D1, D0; asm ST D1, num;}

U8 numbit;
U32 value;

value = 0x8000;

findLeadingBit32(value, numbit);

NOTE: for 16 bits or 8 bits, the macro should be changed accordingly. If value is 0, numbit will be 0xFF.

0 Kudos
Reply
4,080 Views
lama
NXP TechSupport
NXP TechSupport

HI,

 

If you use C coding then simply

if (variable & 0x0100) { .... ;}

else { ...  ;}

 

If you use ASM coding then (I am not sure about syntax but insgructions you can use are presented):
CPU S12Z Reference Manual -. download or atttached

   LDD D6, variable

   BRCLR D6,#8, jump1

   nop

   BRA jump2

jump1:

   nop

jump2::

 

Best regards,

Ladislav

 

0 Kudos
Reply
4,062 Views
Gildarai
Contributor II

Thank you Ladislav.

I want to make a function that finds and returns the number of bits starting from the MSB that are first 1.

 

if I make C code,

 

unsigned int findbitexample(unsigned int value)

{

    unsigned int bitMask = 0x8000;

    unsigned int bitCount;

 

    while(bitCount <= 15){

        if((bitMask & value) == 0){

            bitMask = bitMask >> 1;

            bitCount = bitCount+1;

        }

        else{

            break;

        }

    }

    return bitCount;

}

 

But I cannot use while/for loop problem with task execution time.

So I'm trying to make assembly code or use builtin function if it can be.

 

0 Kudos
Reply
4,039 Views
lama
NXP TechSupport
NXP TechSupport

Hi,

speed is usually paid for by size. This is just suggestion how to exclude/bypass parameters passing, cycles logic,....   probably it is faster, you can test.

#include <hidef.h>      /* common defines and macros */

#include "derivative.h"      /* derivative-specific definitions */

//**********************************************************************

//global variables to do not send parameter to function

volatile unsigned int value;

volatile unsigned char *pvH=(unsigned char*)(&value);

volatile unsigned char *pvL=(unsigned char*)    (   ( (unsigned char*)(&value) )        +1);

//**********************************************************************

unsigned char find1(void)

{

  if(*pvH)

   {

    if(*pvH & 0B11110000) 

     {

       if(*pvH & 0B11000000) 

        {

         if(*pvH & 0B10000000) 

          {

            return 15;  //1000 0000

          } 

         else

          {

            return 14;  //0100 0000

          }

        } 

       else

        {

         if(*pvH & 0B00100000) 

          {

            return 13;  //0010 0000

          } 

         else

          {

            return 12;  //0001 0000

          }

        }

     } 

    else

     {

       if(*pvH & 0B00001100) 

        {

         if(*pvH & 0B00001000) 

          {

            return 11;  //1000 0000

          } 

         else

          {

            return 10;  //0100 0000

          }

        } 

       else

        {

         if(*pvH & 0B00000010) 

          {

            return 9;  //0010 0000

          } 

         else

          {

            return 8;  //0001 0000

          }

        }

 

     }

   } 

  else 

   {

    if(*pvL & 0B11110000) 

     {

       if(*pvL & 0B11000000) 

        {

         if(*pvL & 0B10000000) 

          {

            return 7;  //1000 0000

          } 

         else

          {

            return 6;  //0100 0000

          }

        } 

       else

        {

         if(*pvL & 0B00100000) 

          {

            return 5;  //0010 0000

          } 

         else

          {

            return 4;  //0001 0000

          }

        }

     } 

    else

     {

       if(*pvL & 0B00001100) 

        {

         if(*pvL & 0B00001000) 

          {

            return 3;  //1000 0000

          } 

         else

          {

            return 2;  //0100 0000

          }

        } 

       else

        {

         if(*pvL & 0B00000010) 

          {

            return 1;  //0010 0000

          } 

         else

          {

            return 0;  //0001 0000

          }

        }

 

     }

 

   

   }

  return 55;

}

//**********************************************************************

void main(void) 

{

  static unsigned char pos;

 

  for(;;) 

   {

     for(value=0; value < 0xFFFF; value++) 

      {

        if (value != 0)

            pos = find1();

      }

   }

}

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-1998377%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EWay%20to%20find%20location%20of%20the%20first%201%20bit%20from%20MSB%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1998377%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20use%20s12zvml%20and%20Code%20warrior%20for%20MCU%20v11.1.%3C%2FP%3E%3CP%3EI%20want%20to%20make%20a%20code%20to%20find%20first%20bit%20value%20is%201%20from%20MSB.%3C%2FP%3E%3CP%3EAnd%20I%20try%20to%20use%20assembly%20or%20builtin%20function%20such%20like%20%22__builtin_fbcl%22%20from%20xc16.%20because%20of%20it%20have%20to%20called%20rapidly%20periodic%2C%20I'm%20tring%20to%20reduce%20execution%20time.%3C%2FP%3E%3CP%3EPlease%20help%20me.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2003402%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Way%20to%20find%20location%20of%20the%20first%201%20bit%20from%20MSB%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2003402%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3EYou%20can%20use%20CLB%20(Count%20Leading%20Sign-Bits)%20instruction%20to%20get%20the%20leading%20bit%20position.%20But%20there%20is%20no%20intrinsic%20function%20to%20do%20this.%20Embedded%20asm%20is%20a%20better%20solution.%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3E%23define%20findLeadingBit32(val%2C%20num)%20%7Basm%20LD%20D6%2C%20val%3B%20asm%20CLB%20D6%2C%20D0%3B%20asm%20LD%20D1%2C%20%2330%3B%20asm%20SUB%20D1%2C%20D0%3B%20asm%20ST%20D1%2C%20num%3B%7D%0A%0AU8%20numbit%3B%0AU32%20value%3B%0A%0Avalue%20%3D%200x8000%3B%0A%0AfindLeadingBit32(value%2C%20numbit)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3ENOTE%3A%20for%2016%20bits%20or%208%20bits%2C%20the%20macro%20should%20be%20changed%20accordingly.%20If%20value%20is%200%2C%20numbit%20will%20be%200xFF.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1999961%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Way%20to%20find%20location%20of%20the%20first%201%20bit%20from%20MSB%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1999961%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3Espeed%20is%20usually%20paid%20for%20by%20size.%20This%20is%20just%20suggestion%20how%20to%20exclude%2Fbypass%20parameters%20passing%2C%20cycles%20logic%2C....%26nbsp%3B%26nbsp%3B%20probably%20it%20is%20faster%2C%20you%20can%20test.%3C%2FP%3E%0A%3CP%3E%23include%20%3CHIDEF.H%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F*%20common%20defines%20and%20macros%20*%2F%3C%2FHIDEF.H%3E%3C%2FP%3E%0A%3CP%3E%23include%20%22derivative.h%22%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F*%20derivative-specific%20definitions%20*%2F%3C%2FP%3E%0A%3CP%3E%2F%2F**********************************************************************%3C%2FP%3E%0A%3CP%3E%2F%2Fglobal%20variables%20to%20do%20not%20send%20parameter%20to%20function%3C%2FP%3E%0A%3CP%3Evolatile%20unsigned%20int%20value%3B%3C%2FP%3E%0A%3CP%3Evolatile%20unsigned%20char%20*pvH%3D(unsigned%20char*)(%26amp%3Bvalue)%3B%3C%2FP%3E%0A%3CP%3Evolatile%20unsigned%20char%20*pvL%3D(unsigned%20char*)%26nbsp%3B%26nbsp%3B%26nbsp%3B%20(%26nbsp%3B%26nbsp%3B%20(%20(unsigned%20char*)(%26amp%3Bvalue)%20)%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2B1)%3B%3C%2FP%3E%0A%3CP%3E%2F%2F**********************************************************************%3C%2FP%3E%0A%3CP%3Eunsigned%20char%20find1(void)%3C%2FP%3E%0A%3CP%3E%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3Bif(*pvH)%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvH%26nbsp%3B%26amp%3B%26nbsp%3B0B11110000)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvH%26nbsp%3B%26amp%3B%26nbsp%3B0B11000000)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvH%26nbsp%3B%26amp%3B%26nbsp%3B0B10000000)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B15%3B%26nbsp%3B%26nbsp%3B%2F%2F1000%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B14%3B%26nbsp%3B%26nbsp%3B%2F%2F0100%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvH%26nbsp%3B%26amp%3B%26nbsp%3B0B00100000)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B13%3B%26nbsp%3B%26nbsp%3B%2F%2F0010%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B12%3B%26nbsp%3B%26nbsp%3B%2F%2F0001%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvH%26nbsp%3B%26amp%3B%26nbsp%3B0B00001100)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvH%26nbsp%3B%26amp%3B%26nbsp%3B0B00001000)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B11%3B%26nbsp%3B%26nbsp%3B%2F%2F1000%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B10%3B%26nbsp%3B%26nbsp%3B%2F%2F0100%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvH%26nbsp%3B%26amp%3B%26nbsp%3B0B00000010)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B9%3B%26nbsp%3B%26nbsp%3B%2F%2F0010%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B8%3B%26nbsp%3B%26nbsp%3B%2F%2F0001%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3Belse%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvL%26nbsp%3B%26amp%3B%26nbsp%3B0B11110000)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvL%26nbsp%3B%26amp%3B%26nbsp%3B0B11000000)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvL%26nbsp%3B%26amp%3B%26nbsp%3B0B10000000)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B7%3B%26nbsp%3B%26nbsp%3B%2F%2F1000%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B6%3B%26nbsp%3B%26nbsp%3B%2F%2F0100%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvL%26nbsp%3B%26amp%3B%26nbsp%3B0B00100000)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B5%3B%26nbsp%3B%26nbsp%3B%2F%2F0010%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B4%3B%26nbsp%3B%26nbsp%3B%2F%2F0001%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvL%26nbsp%3B%26amp%3B%26nbsp%3B0B00001100)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvL%26nbsp%3B%26amp%3B%26nbsp%3B0B00001000)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B3%3B%26nbsp%3B%26nbsp%3B%2F%2F1000%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B2%3B%26nbsp%3B%26nbsp%3B%2F%2F0100%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif(*pvL%26nbsp%3B%26amp%3B%26nbsp%3B0B00000010)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B1%3B%26nbsp%3B%26nbsp%3B%2F%2F0010%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Belse%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B0%3B%26nbsp%3B%26nbsp%3B%2F%2F0001%26nbsp%3B0000%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3Breturn%26nbsp%3B55%3B%3C%2FP%3E%0A%3CP%3E%7D%3C%2FP%3E%0A%3CP%3E%2F%2F**********************************************************************%3C%2FP%3E%0A%3CP%3Evoid%26nbsp%3Bmain(void)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3Bstatic%26nbsp%3Bunsigned%26nbsp%3Bchar%26nbsp%3Bpos%3B%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3Bfor(%3B%3B)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor(value%3D0%3B%26nbsp%3Bvalue%26nbsp%3B%26lt%3B%26nbsp%3B0xFFFF%3B%26nbsp%3Bvalue%2B%2B)%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(value%26nbsp%3B!%3D%26nbsp%3B0)%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20pos%26nbsp%3B%3D%26nbsp%3Bfind1()%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%3C%2FP%3E%0A%3CP%3E%7D%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1999516%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Way%20to%20find%20location%20of%20the%20first%201%20bit%20from%20MSB%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1999516%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThank%20you%26nbsp%3B%3CSPAN%3ELadislav.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EI%20want%20to%20make%20a%20function%20that%20finds%20and%20returns%20the%20number%20of%20bits%20starting%20from%20the%20MSB%20that%20are%20first%201.%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Eif%20I%20make%20C%20code%2C%3C%2FP%3E%3CBR%20%2F%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3Eunsigned%3C%2FSPAN%3E%20%3CSPAN%3Eint%3C%2FSPAN%3E%20%3CSPAN%3Efindbitexample%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Eunsigned%3C%2FSPAN%3E%20%3CSPAN%3Eint%3C%2FSPAN%3E%3CSPAN%3E%20value)%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20unsigned%3C%2FSPAN%3E%20%3CSPAN%3Eint%3C%2FSPAN%3E%3CSPAN%3E%20bitMask%20%3D%200x8000%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20unsigned%3C%2FSPAN%3E%20%3CSPAN%3Eint%3C%2FSPAN%3E%3CSPAN%3E%20bitCount%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20while%3C%2FSPAN%3E%3CSPAN%3E(bitCount%20%26lt%3B%3D%2015)%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20if%3C%2FSPAN%3E%3CSPAN%3E((bitMask%20%26amp%3B%20value)%20%3D%3D%200)%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20bitMask%20%3D%20bitMask%20%26gt%3B%26gt%3B%201%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20bitCount%20%3D%20bitCount%2B1%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20else%3C%2FSPAN%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20break%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20return%3C%2FSPAN%3E%3CSPAN%3E%20bitCount%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EBut%20I%20cannot%20use%20while%2Ffor%20loop%20problem%20with%20task%20execution%20time.%3C%2FP%3E%3CP%3ESo%20I'm%20trying%20to%20make%20assembly%20code%20or%20use%20builtin%20function%20if%20it%20can%20be.%3C%2FP%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1998973%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Way%20to%20find%20location%20of%20the%20first%201%20bit%20from%20MSB%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1998973%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHI%2C%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EIf%20you%20use%20C%20coding%20then%20simply%3C%2FP%3E%0A%3CP%3Eif%20(variable%20%26amp%3B%200x0100)%20%7B%20....%20%3B%7D%3C%2FP%3E%0A%3CP%3Eelse%20%7B%20...%26nbsp%3B%20%3B%7D%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EIf%20you%20use%20ASM%20coding%20then%20(I%20am%20not%20sure%20about%20syntax%20but%20insgructions%20you%20can%20use%20are%20presented)%3A%3CBR%20%2F%3ECPU%20S12Z%20Reference%20Manual%20-.%20download%20or%20atttached%20%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%20LDD%20D6%2C%20variable%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%20BRCLR%20D6%2C%238%2C%20jump1%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%20nop%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%20BRA%20jump2%3C%2FP%3E%0A%3CP%3Ejump1%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%20nop%3C%2FP%3E%0A%3CP%3Ejump2%3A%3A%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20regards%2C%3C%2FP%3E%0A%3CP%3ELadislav%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E