Hi, I'm creating a Win32 assembler/linker for a game programming
language. I've been programming for 12 years. I know C/C++,
ASM, MASM, bah, bah, bah...

What is "/ r" in the "decode" algorithm? "ModeR/M"?
How is that calculated? No one I've asked online has been able
to answer this question and it's VERY frusturating!!! I've been
studying the intel opcode reference which is EXCELLENT:
http://developer.intel.com/design/intarch/techinfo/Pentium/instform.htm#8097
However, I still don't quite understand this. Since this must
support 100s of opcodes, it would be inefficient as far as
speed and programming time to interpret them all manually,
instead of using an engine that converts any given instruction
and can be easily upgraded. Thanks.

MY GAME PROGRAMMING LANGUAGE IS AWESOME!!!!!!!!!!!!!!
ALTHOUGH A SCRIPTING LANGUAGE CURRENTLY. IF ANYONE
WANTS TO HELP, E-MAIL funplay77@yahoo.com (WIN32 PE .EXE REQUIRED)
Posted on 2001-11-08 04:40:13 by nelix
Each instruction may have (max.) 6 components:

- Prefix
- Opcode
- mod/RM
- SIB
- Displacement
- Immediate

The Mod/RM byte holds 3 records:

- Mod (2 Bits)
- Register (or Opcode extension) (3 Bits)
- R/M (3 Bits)

The whole table of these crossed 256 values are given in Intel Doc. Whatever
version you have, this should be in the Volume 2 at the beginning of 'OpCodes
reference'. Not so easy to fully understand, but, if you can't at all, you
should report your project ;)

If, AFTER SERIOUS STUDY, you still have details problems, you may email me:

betov@free.fr
Posted on 2001-11-08 06:17:24 by Betov