How to interpret opcode documentation

I'm trying to write some code using the opcode I found in the x86 processor opcode documentation I found on Intels homepage (link: 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?

Who is Participating?
monoceresConnect With a Mentor Author Commented:
I guess this one can be closed early. I found info on this site:
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.
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.