tu serais pas à Epita toi ? :p
BruNews -> moi ce que je ne comprends pas c'est le if(!addr) addr = align;
sinon :
addr = 0x0021h, align = 2^2 = 0x0004h
align -1 = 0x0003h
21h AND 3h = 1h = true -> on rentre dans le if car non aligné
pour aligner :
21h+4h = 25h -> non aligné, donc ... on va arranger ça
~(align-1) = ~0x0003h = 0hFFFC
0025 & FFFC = 0024 -> Aligné !
j'ai bon


_______________________
Omnia vincit labor improbus