19
Multiplying numbers
•[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