Prevod 24-bit BIN do BCD asm

Jestli Ti to stačí v C, tak by to mohlo být nějak takhle :

[code]unsigned char BCD[4];
long int PrevadeneCislo;

void PrevodDoBCD(unsigned char *Vystup, long int Vstup)
{
unsigned char Cislice;

Cislice = Vstup / 10000000;
Vstup -= (long int)Cislice10000000;
Vystup[0]=(Cislice<<4);
Cislice = Vstup / 1000000;
Vstup -= (long int)Cislice
1000000;
Vystup[0]+=Cislice;

Cislice = Vstup / 100000;
Vstup -= (long int)Cislice100000;
Vystup[1]=(Cislice<<4);
Cislice = Vstup / 10000;
Vstup -= (long int)Cislice
10000;
Vystup[1]+=Cislice;

Cislice = Vstup / 1000;
Vstup -= (long int)Cislice1000;
Vystup[2]=(Cislice<<4);
Cislice = Vstup / 100;
Vstup -= (long int)Cislice
100;
Vystup[2]+=Cislice;

Cislice = Vstup / 10;
Vstup -= (long int)Cislice*10;
Vystup[3]=(Cislice<<4);
Vystup[3]+=Vstup;

}[/code]

Volání je pak :

  PrevodDoBCD(BCD, PrevadeneCislo);

Asi budeš muset přihodit nějaký to přetypování, ale jinak by to mělo chodit.