2009-05-11 7 views
1

Ich verbrachte letzte Stunde googeln, versuchen herauszufinden, ob IMUL AX ist gültiger Befehl in 80x86 Assembler. Entschuldigung, dass ich es nicht ausprobiert habe, ich habe einfach keine Werkzeuge am PC, die ich gerade benutze.Ist IMUL AX gültig?

Alles, was ich brauche, ist nur eine schnelle Antwort ja/nein. Vielen Dank!

jpou

Update: versucht und heute bestätigt. Funktioniert wie erwartet.

-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 

Antwort

4

Entschuldigung für das Ausprobieren, ich habe gerade keine Werkzeuge am PC, die ich gerade benutze.

Von der Befehlszeile:

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 

den Debug-Befehl kann verifiziert werden, dass "IMUL ax" wird montieren (und ist daher ein gültiger Befehl in 80x86 Assembler).

+0

Vielleicht benutzt er/sie Windows nicht, aber es ist immer lustig, Debug in 2009 zu laufen. Ist es noch immer in Vista und 7 vorhanden? –

+0

justas @ Zaibukas: ~ $ Sorry, ich nicht, es ist Vanille-Installation von Ubuntu9.04. – jpou

+0

Ich betreibe Vista. – ChrisW

5

Es sollte gelten:

IMUL signierten Multiply

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

Entnommen von here, "Band 2A: Befehlssatzreferenz, A-M".