Is IMUL AX really?

I spent the last hour of googling trying to figure out if IMUL AX is indeed the correct command in 80x86 assembler. Sorry for not trying, I just don't have the tools on the PC I'm currently using.

All I need is just a quick yes / no answer. Thanks!

jpou

Update: Checked and verified today. Works as expected.

-R
AX=0002  BX=0000  CX=20CD  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B02  ES=9FFF  SS=0B02  CS=0B02  IP=0102   NV UP EI PL NZ NA PO NC
0B02:0102 F7E0          MUL     A

-X
-T
AX=0004  BX=0000  CX=20CD  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B02  ES=9FFF  SS=0B02  CS=0B02  IP=0104   NV UP EI PL NZ NA PO NC
0B02:0104 FE7405        PUSH    [SI+05]                     DS:0005=9A

      

+1


a source to share


2 answers


Sorry for not trying, I just don't have the tools on the PC I'm currently using.

From the command line:



Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

C:\Windows\system32>debug
-a
17CC:0100 imul ax
17CC:0102
-u
17CC:0100 F7E8          IMUL    AX
17CC:0102 0000          ADD     [BX+SI],AL
-q

      

By using the debug command, one can verify that "imul ax" will build (and therefore a valid command in 80x86 assembler).

+4


a source


He must be right:

IMUL-Signed Multiply

IMUL r / m16
DX: AX ← AX * r / m word.



Taken from here , "Volume 2A: Instruction Set Handbook, AM".

+5


a source







All Articles