Est-il possible de multiplier par un immédiat avec mul en x86 Assemblée?

Je suis à l'apprentissage de l'assemblée x86 à l'aide de DosBox l'emulateur. Je suis en train d'effectuer la multiplication. Je ne comprends pas comment il fonctionne. Quand j'écris le code suivant:

mov al, 3
mul 2

J'obtiens une erreur. Bien que, dans la référence, je suis en utilisant, il est dit dans la multiplication, il suppose que AX est toujours le titulaire de place, donc, si j'écris:

mul, 2

Il multiplie al valeur par 2. Mais il ne fonctionne pas avec moi.

Quand j'ai essayer le suivant:

mov al, 3
mul al,2
int 3

- Je obtenir de résultat 9 dans ax. Voir cette photo pour la clarification:
Est-il possible de multiplier par un immédiat avec mul en x86 Assemblée?

Une autre question: puis-je multiplier à l'aide de l'emplacement de la mémoire directement? Exemple:

mov si,100
mul [si],5

OriginalL'auteur user2192774 | 2013-12-10