1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #include <stdlib.h>
int main (void)
{
unsigned long int reg_principal = 0;
/* reg1 à reg8 sont tes 8 registres avec 4 bits par registre */
unsigned char reg1 = 0x05; /* donnée = 4 bits de poids faibles */
unsigned char reg2 = 0x0A;
unsigned char reg3 = 0x06;
unsigned char reg4 = 0x0F;
unsigned char reg5 = 0x0C;
unsigned char reg6 = 0x01;
unsigned char reg7 = 0x00;
unsigned char reg8 = 0x0E;
/* le but étant de recréer dans reg_principal 0xE01CF6A5 ? */
/* dans ce cas : on peut faire */
reg_principal = reg1;
reg_principal = reg_principal | (reg2 << 4);
reg_principal = reg_principal | (reg3 << 8);
reg_principal = reg_principal | (reg4 << 12);
reg_principal = reg_principal | (reg5 << 16);
reg_principal = reg_principal | (reg6 << 20);
reg_principal = reg_principal | (reg7 << 24);
reg_principal = reg_principal | (reg8 << 28);
printf("%X\n", reg_principal);
getchar();
return EXIT_SUCCESS;
} |