public final class AMD64Address extends AbstractAddress
Modifier and Type | Class and Description |
---|---|
static class |
AMD64Address.Scale
A scaling factor used in the SIB addressing mode.
|
Modifier and Type | Field and Description |
---|---|
private Register |
base |
private int |
displacement |
private Register |
index |
private AMD64Address.Scale |
scale |
Constructor and Description |
---|
AMD64Address(Register base)
Creates an
AMD64Address with given base register, no scaling and no displacement. |
AMD64Address(Register base,
int displacement)
Creates an
AMD64Address with given base register, no scaling and a given
displacement. |
AMD64Address(Register base,
Register index,
AMD64Address.Scale scale,
int displacement)
Creates an
AMD64Address with given base and index registers, scaling and
displacement. |
Modifier and Type | Method and Description |
---|---|
Register |
getBase() |
int |
getDisplacement() |
Register |
getIndex() |
AMD64Address.Scale |
getScale() |
String |
toString() |
private final AMD64Address.Scale scale
private final int displacement
public AMD64Address(Register base)
AMD64Address
with given base register, no scaling and no displacement.base
- the base registerpublic AMD64Address(Register base, int displacement)
AMD64Address
with given base register, no scaling and a given
displacement.base
- the base registerdisplacement
- the displacementpublic AMD64Address(Register base, Register index, AMD64Address.Scale scale, int displacement)
AMD64Address
with given base and index registers, scaling and
displacement. This is the most general constructor.base
- the base registerindex
- the index registerscale
- the scaling factordisplacement
- the displacementpublic Register getBase()
Register.None
.public Register getIndex()
getScale()
) is added to
getBase()
. If not present, is denoted by Register.None
.public AMD64Address.Scale getScale()
public int getDisplacement()