64비트 기준


어셈

movslq i, %rdi

addq %rdi, (%rdx)

addb %sil, (%rcx)

movl $6, x

ret


c코드

*u = += a;

*v = += b;

return sizeof(a) + sizeof(b);


에서 결국 return값이 6이 찍힌다는거면 sizeofb는 16비트 = 2바이트란 소린가?


근데 addb %sli, (%rcx)에서 8비트만 옴기면..


아..... v가 1바이트고 b는 2바이트구나;; 쉬벌 쓰다보니 이해햇내