bonjour,

Pouvez vous m'aider svp? J'ai une instruction en binaire (32 bits)

instr=(code<<27)+(valeurRd<<22)+(valeurRn<<17)+(Imm<<16)+(valeurS<<0);

Mais je veux que ces bits soient mis dans un tableau de taille 32: j'ai écris cette fonction mais ça ne marche pas pourquoi?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void representation(int *reg,  char *cur_mem){
  int  pos;
  int cur_octet;
  int decal;
 
  pos = 0;
  cur_octet = -1;
  memset(cur_mem, 0, 4);
      while (pos < 32){
          if (!(pos % 8)){
              cur_octet++;
              decal = 7;
            }
          cur_mem[cur_octet] += ((char) reg[pos]) << decal--;
          pos++;
        }
}
Merci d'avance