Note registers %ebx and %esi are used in the table below just as examples.
However, any other registers can be used in the same way.
-
R[%ebx] means the contents of register %ebx
Name | Form | Denotes Memory Address |
---|---|---|
Indirect | (%ebx) | R[%ebx] |
base + displacement | 8(%ebx) | R[%ebx] + 8 |
Indexed | (%ebx, %esi) | R[%ebx] + R[%esi]) |
Indexed | 4(%ebx, %esi) | R[%ebx] + R[%esi] + 4 |
Scaled indexed | (%ebx, %esi, 4) | R[%ebx] + 4 * R[%esi] |
Scaled indexed | 8(%ebx, %esi, 4) | R[%ebx] + 4 * R[%esi] + 8 |
Scaled indexed | 8(,%esi, 4) | 4 * R[%esi] + 8 |