Appendix C. Reg/Mem Mapping

This appendix maps the addressing methods for memory load/save, jump table lookup, and call table lookup.

The same kind of memory reference that is used to access a memory table or array can also be used to access a jump vector. Almost any register can be used alone, in a pair addition, and with an optional base address and/or scale factor of {2, 4, or 8}, but you will note that there are some limitations in regard to the ESP register.

(Real Mode — Near or far is same opcodes)(Protected Mode — Near or far is same opcodes)

  jmp . . .
  jmp NearAdrPtr[. . .]

eax

ebx

ecx

edx

esp

ebp

esi

edi

ax

bx

cx

dx

sp

bp

si

di

(Real Mode — Near or far is same opcodes)(Protected Mode — Near or far is same opcodes)

 jmp word ptr [. . .]
 jmp dword ptr [. . .]
 jmp fword ptr [. . .]
 jmp NearAdrPtr[. . .]

eax

ebx

ecx

edx

esp

ebp

esi

edi

eax+eax

eax+ebx

eax+ecx

eax+edx

eax+esp

eax+ebp

eax+esi

eax+edi

ebx+eax

ebx+ebx

ebx+ecx

ebx+edx

ebx+esp

ebx+ebp

ebx+esi

ebx+edi

ecx+eax

ecx+ebx

ecx+ecx

ecx+edx

ecx+esp

ecx+ebp

ecx+esi

ecx+edi

edx+eax

edx+ebx

edx+ecx

edx+edx

edx+esp

edx+ebp

edx+esi

edx+edi

esp+eax

esp+ebx

esp+ecx

esp+edx

-

esp+ebp

esp+esi

esp+edi

ebp+eax

ebp+ebx

ebp+ecx

ebp+edx

ebp+esp

ebp+ebp

ebp+esi

ebp+edi

esi+eax

esi+ebx

esi+ecx

esi+edx

esi+esp

esi+ebp

esi+esi

esi+edi

edi+eax

edi+ebx

edi+ecx

edi+edx

edi+esp

edi+ebp

edi+esi

edi+edi

eax*2

ebx*2

ecx*2

edx*2

-

ebp*2

esi*2

edi*2

eax+eax*2

eax+ebx*2

eax+ecx*2

eax+edx*2

-

eax+ebp*2

eax+esi*2

eax+edi*2

ebx+eax*2

ebx+ebx*2

ebx+ecx*2

ebx+edx*2

-

ebx+ebp*2

ebx+esi*2

ebx+edi*2

ecx+eax*2

ecx+ebx*2

ecx+ecx*2

ecx+edx*2

-

ecx+ebp*2

ecx+esi*2

ecx+edi*2

edx+eax*2

edx+ebx*2

edx+ecx*2

edx+edx*2

-

edx+ebp*2

edx+esi*2

edx+edi*2

esp+eax*2

esp+ebx*2

esp+ecx*2

esp+edx*2

-

esp+ebp*2

esp+esi*2

esp+edi*2

ebp+eax*2

ebp+ebx*2

ebp+ecx*2

ebp+edx*2

-

ebp+ebp*2

ebp+esi*2

ebp+edi*2

esi+eax*2

esi+ebx*2

esi+ecx*2

esi+edx*2

-

esi+ebp*2

esi+esi*2

esi+edi*2

edi+eax*2

edi+ebx*2

edi+ecx*2

edi+edx*2

-

edi+ebp*2

edi+esi*2

edi+edi*2

eax*4

ebx*4

ecx*4

edx*4

-

ebp*4

esi*4

edi*4

eax+eax*4

eax+ebx*4

eax+ecx*4

eax+edx*4

-

eax+ebp*4

eax+esi*4

eax+edi*4

ebx+eax*4

ebx+ebx*4

ebx+ecx*4

ebx+edx*4

-

ebx+ebp*4

ebx+esi*4

ebx+edi*4

ecx+eax*4

ecx+ebx*4

ecx+ecx*4

ecx+edx*4

-

ecx+ebp*4

ecx+esi*4

ecx+edi*4

edx+eax*4

edx+ebx*4

edx+ecx*4

edx+edx*4

-

edx+ebp*4

edx+esi*4

edx+edi*4

esp+eax*4

esp+ebx*4

esp+ecx*4

esp+edx*4

-

esp+ebp*4

esp+esi*4

esp+edi*4

ebp+eax*4

ebp+ebx*4

ebp+ecx*4

ebp+edx*4

-

ebp+ebp*4

ebp+esi*4

ebp+edi*4

esi+eax*4

esi+ebx*4

esi+ecx*4

esi+edx*4

-

esi+ebp*4

esi+esi*4

esi+edi*4

edi+eax*4

edi+ebx*4

edi+ecx*4

edi+edx*4

-

edi+ebp*4

edi+esi*4

edi+edi*4

eax*8

ebx*8

ecx*8

edx*8

-

ebp*8

esi*8

edi*8

eax+eax*8

eax+ebx*8

eax+ecx*8

eax+edx*8

-

eax+ebp*8

eax+esi*8

eax+edi*8

ebx+eax*8

ebx+ebx*8

ebx+ecx*8

ebx+edx*8

-

ebx+ebp*8

ebx+esi*8

ebx+edi*8

ecx+eax*8

ecx+ebx*8

ecx+ecx*8

ecx+edx*8

-

ecx+ebp*8

ecx+esi*8

ecx+edi*8

edx+eax*8

edx+ebx*8

edx+ecx*8

edx+edx*8

-

edx+ebp*8

edx+esi*8

edx+edi*8

esp+eax*8

esp+ebx*8

esp+ecx*8

esp+edx*8

-

esp+ebp*8

esp+esi*8

esp+edi*8

ebp+eax*8

ebp+ebx*8

ebp+ecx*8

ebp+edx*8

-

ebp+ebp*8

ebp+esi*8

ebp+edi*8

esi+eax*8

esi+ebx*8

esi+ecx*8

esi+edx*8

-

esi+ebp*8

esi+esi*8

esi+edi*8

edi+eax*8

edi+ebx*8

edi+ecx*8

edi+edx*8

-

edi+ebp*8

edi+esi*8

edi+edi*8

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset