qa.hlp (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
R/m
   Key to Encodings  Reg  Mod  R/m  Back
──────────────────────────────────────────────────────────────────────────────
 
  This three-bit field is called "register/memory," and it helps specify
  addressing mode. If mod field is 11, r/m specifies the source register
  using the reg field codes. Otherwise, r/m has the following meaning:
 
  000      DS:[BX+SI+disp]
  001      DS:[BX+DI+disp]
  010      SS:[BP+SI+disp]
  011      SS:[BP+DI+disp]
  100      DS:[SI+disp]
  101      DS:[DI+disp]
  110      DS:[BP+disp]
  111      DS:[BX+disp]
 
  If mod is 00 and r/m is 110, the operand is treated as a direct
  memory operand. This means that the operand [BP] is encoded as [BP+0]
  rather than having a short-form like other register indirect operands.
  Encoding [BX] takes one byte, but encoding [BP] takes two.
                                    -♦-