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 |