•[b] := [b] * 2
•Means multiply the number at the location
(address) “b” by 2
•In C language we write:
•b = b * 2; or b *=
2;
•In Assembler we
use instruction imul (integer multiply)
•In Assembler we write:
•imul [b]
•mov [b],
eax
•Means
[b] := [b] * eax, so we have to put 2 into eax, but we already have 2 in eax
•Result of
multiplication is put into registers eax and edx
•In WinDbg disassembly output we see:
•imul dword ptr [ArithmeticProject!b
(00428500)]
•mov [ArithmeticProject!b (00428500)],eax