Reputation:
Opcode with argument: 8B55 08
Disassembled: MOV EDX,DWORD PTR SS:[EBP+8]
Does this move the value at address EBP+8
and place it into EDX
? What does the DWORD PTR
mean?
What's the easiest way to test x86 instructions? Is there a way for me to define all my registers and flags and then execute/test instructions like this easily?
I'm using the following manual, but it's quite difficult to read at first: http://download.intel.com/products/processor/manual/325383.pdf
Upvotes: 1
Views: 869
Reputation: 30001
The DWORD PTR
specifies that the operand is 32 bits. It's is called a size directive and is explained further in x86 Assembly Guide
You will be forced to use this kind of modifier when the assembler cannot tell the actual size of the operand.
The instruction in question moves a 32 bit value from the stack segment (SS) into EDX
Like pointed out by @harold and @brendan the default segment when using EBP
as base address is SS
, so in your case you should be able to use mov edx, [ebp + 8]
One way to test instructions like the above would be to use inline assembler in Visual Studio and make use of the registers window in which you will be able to edit and display different register values.
Upvotes: 4