• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 737
  • Last Modified:

How to interpret opcode documentation

Hi!
I'm trying to write some code using the opcode I found in the x86 processor opcode documentation I found on Intels homepage (link: http://developer.intel.com/design/PentiumII/manuals/243191.htm) and the opcode reference found in the masm32 install package. I have succesfuly made some simple stuff like this: B801000000C3H which stores 01H in eax and then returns.

However I don't understand how to read most of the documentation for the different opcodes. For example I would like to implement the CALLF instruktion.

The documentation in masm32 says:
9A cp CALL ptr16:32 Call far, absolute, address given in operand

So I thought that to call a function at address 00C40000H would be
9A0000C400H however that crashes.

Anyone know how it should be?

Thanks.
0
monoceres
Asked:
monoceres
1 Solution
 
monoceresAuthor Commented:
I guess this one can be closed early. I found info on this site:
http://coding.derkeiler.com/Archive/Assembler/comp.lang.asm.x86/2006-11/msg00207.html
That said that the 9A instruction couldn't be used, so the E8 instruction should be used instead.
So I calculated the difference between my function pointer and the next byte to be executed and voĆ­la.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now