Whats the HEX value for each opcode? (example: "$A1" = "MOV EAX")

Is there any place where I can see the hex value for each or almost all Opcodes?

For example:

$A1  =  MOV EAX

Please, I need it kinda fast....
Thank you!!!
Who is Participating?
aib_42Connect With a Mentor Commented:
Check out the 2nd part of the 2nd volume of the Pentium 4 Software Developer's Manual:
http://www.intel.com/design/pentium4/manuals/index_new.htm#sdm_vol2b (P4 Manuals index)
ftp://download.intel.com/design/Pentium4/manuals/25366714.pdf (Direct link)

The Appendices A and B would give you all the information you would need.
It has much to do with which processor the opcodes are for...

You could go to www.microchip.com for example, and grab the data and programming sheets for a particular device and you'll be a few steps closer.

The instruction set summary usually shows the mneumonic and the actual bit structure.
teste123Author Commented:
What I wanted I've found here:

Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

Intel's official processor guides give you nice opcode maps, too.
teste123Author Commented:
What I really want now is something that shows me the size of each Opcode... Do you have any?
If you do, I'll increase to 450 and accept it.
adg080898Connect With a Mentor Commented:
The size of opcodes can vary depending on prefixes. Intel 32-bit processors really have three operand sizes for data, and two operand sizes for addresses.

For example, if this code runs in 16-bit mode:

mov eax,0x01234567

It will have an "opsize" prefix. This tells the cpu to expect a 32-bit operand. The opposite is true in 32-bit mode:

mov ax,0x1234

...is encoded with a prefix.

The address size can also affect the size of the opcode. If this runs in 16 bit mode:

mov ax,[eax]

...it will have an addrsize prefix.  The opposite is true in 32-bit mode:

mov ax,[bp]

...will have an addrsize prefix.

16-bit addressing modes are [bx], [si], [di], [bp], [bx+si], [bx+di], [bp+si], [bp+di], or any of those with a constant offset.

32-bit addressing modes are [reg], [reg+reg], [reg+reg*2], [reg+reg*4], [reg+reg*8], or any of those with a constant offset (example: [eax+ebx+128])

The x86 instruction format is quite complex.
just type in the codes you want, assemble the program and go look at it with turbo debugger. on the left side of each instruction it has the exact opcode that the proccessor runs.
like mov ax,1 would look something like  0B80100 or something like that.
See http://www.sandpile.org/ia32/index.htm

It has charts for opcodes.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.