beautypg.com

Amd confidential user manual september 12 – AMD SimNow Simulator 4.4.4 User Manual

Page 213

background image

AMD Confidential

User Manual

September 12

th

, 2008

Appendix A

201

Instruction

Supported

Mnemonic

Opcode

Description

IMUL reg64,reg/mem64,imm8

6B /r ib

Multiply the contents of a 64-bit

register or memory operand by a sign-

extended immediate byte and put the

signed

result

in

the

64-bit

destination register.

IMUL reg16,reg/mem16,imm16

69 /r iw

Multiply the contents of a 16-bit

register or memory operand by a sign-

extended immediate word and put the

signed

result

in

the

16-bit

destination register.

IMUL reg32,reg/mem32,imm32

69 /r id

Multiply the contents of a 32-bit

register or memory operand by a sign-

extended immediate double and put the

signed

result

in

the

32-bit

destination register.

IMUL reg64,reg/mem64,imm32

69 /r id

Multiply the contents of a 64-bit

register or memory operand by a sign-

extended immediate double and put the

signed

result

in

the

64-bit

destination register.

IN AL,imm8

E4 ib

Input a byte from the port at the

address specified by imm8 and put it

into the AL register.

IN AX,imm8

E5 ib

Input a word from the port at the

address specified by imm8 and put it

into the AX register.

IN EAX,imm8

E5 ib

Input a doubleword from the port at

the address specified by imm8 and put

it into the EAX register.

IN AL,DX

EC

Input a byte from the port at the

address specified by the DX register

and put it into the AL register.

IN AX,DX

ED

Input a word from the port at the

address specified by the DX register

and put it into the AX register.

IN EAX,EDX

ED

Input a doubleword from the port at

the address specified by the EDX

register and put it into the EAX

register.

INC reg/mem8

FE /0

Increment the contents of an 8-bit

register or memory location by 1.

INC reg/mem16

FF /0

Increment the contents of a 16-bit

register or memory location by 1.

INC reg/mem32

FF /0

Increment the contents of a 32-bit

register or memory location by 1.

INC reg/mem64

FF /0

Increment the contents of a 64-bit

register or memory location by 1.

INC reg16

40 +rw

Increment the contents of a 16-bit

register by 1.

INC reg32

40 +rd

Increment the contents of a 32-bit

register by 1.

INS mem8,DX

6C

Input a byte from the port specified

by DX, put it into the memory

location specified in ES:rDI, and

then increment or decrement rDI.

INS mem16,DX

6D

Input a word from the port specified

by DX, put it into the memory

location specified in ES:rDI, and

then increment or decrement rDI.

INS mem32,DX

6D

Input a doubleword from the port

specified by DX, put it into the

memory location specified in ES:rDI,

and then increment or decrement rDI.

INSB

6C

Input a byte from the port specified

by DX, put it into the memory

location specified in ES:rDI, and

then increment or decrement rDI.

INSW

6D

Input a word from the port specified

by DX, put it into the memory

location specified in ES:rDI, and

then increment or decrement rDI.

INSD

6D

Input a doubleword from the port

specified by DX, put it into the

memory location specified in ES:rDI,

and then increment or decrement rDI.

INT imm8

CD ib

Calls

interrupt

service

routine

specified by interrupt vector imm8.