|
unsigned __int64 num;上の、__int64変数への代入は、下のように出力される。
num = 0x1122334455667788ui64;
_num$ = -8次に、この変数のインクリメントを例とする。
mov DWORD PTR _num$[ebp], 1432778632
mov DWORD PTR _num$[ebp+4], 287454020
num++;上の、インクリメントは、下のように出力される。
mov eax, DWORD PTR _num$[ebp]このように、内部では32ビット×2で処理されていることが分かる。
add eax, 1
mov ecx, DWORD PTR _num$[ebp+4]
adc ecx, 0
mov DWORD PTR _num$[ebp], eax
mov DWORD PTR _num$[ebp+4], ecx