290Fermer292
FarewellLe 22/07/2014 à 15:55
surréaliste xD
x = inportb(N) * 256 + inportb(N+1);

(where inportb() returns unsigned char) and found that it generated a mov instruction instead of a shift or multiply for the times-256...

Là, j'avoue que ça me pose question. Quel est le type de x ?
Si x est un char, le mec est un peu con, donc je pense pas que ce soit ça.
Sinon, je suis même pas foutu de savoir ce qui se passe, mettons si x est un int, avec sizeof(int)>sizeof(char) :
Est-ce que chaque membre de l'expression est promu en int, puis les opérations sont effectuées ?
Est-ce que la promotion de l'ensemble de l'expression dans le type de x n'est faite qu'une fois l'évaluation de la rvalue terminée ?
...

Je me rends compte que je sais même pas comment s'y prend C #shameonme#