◄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. -♦-