In assembler you can make a multiplication using multimedia instructions (numbers unsigned) and imul. It is used as follows:

Code:
Mul nom_registre
Then internal processor multiplies the content of eax or ax or al (depending on the size of a given registry parameter) and then stores the result in eax or ax for the "low" and result in edx or dx for the party "most significant" with the result, if the past record in setting multiple is more than one byte.

Using multimedia is a bit heavy as it must move the value in eax multiplied, the value to multiply in another register and register result must be eax, which overwrites the value it had.


However, if you just want to multiply a register by a constant and put the result in the register of your choice, you can use a shortcut with the instruction "lea" (load effective address). Cette instruction sert Ă* rĂ©cupĂ©rer l'adresse d'une donnĂ©e en mĂ©moire. This instruction is used to retrieve the address of a given memory.

Code:
 lea registre_destination, [adresse_mémoire]; adresse_memoire place in registre_destination
The big advantage is that, instead of the memory address, you can save a multiplication or addition of a register by a constant.

Imagine that you wanted to multiply by 7 ecx and put the result in ebx, the command would be as follows:

Code:
lea ebx, [ecx * 7]
So much for the shortened practice. Unfortunately you can not multiply two records set by this shortcut.