mirror of
https://github.com/TomHarte/CLK.git
synced 2024-07-07 23:29:06 +00:00
This is normatively called the address size.
This commit is contained in:
parent
b968a662d3
commit
229af0380c
@ -696,7 +696,7 @@ std::pair<int, typename Decoder<model>::InstructionT> Decoder<model>::decode(con
|
|||||||
destination_,
|
destination_,
|
||||||
sib_,
|
sib_,
|
||||||
lock_,
|
lock_,
|
||||||
memory_size_,
|
address_size_,
|
||||||
segment_override_,
|
segment_override_,
|
||||||
repetition_,
|
repetition_,
|
||||||
Size(operation_size_),
|
Size(operation_size_),
|
||||||
|
@ -154,7 +154,7 @@ template <Model model> class Decoder {
|
|||||||
// Prefix capture fields.
|
// Prefix capture fields.
|
||||||
Repetition repetition_ = Repetition::None;
|
Repetition repetition_ = Repetition::None;
|
||||||
bool lock_ = false;
|
bool lock_ = false;
|
||||||
bool memory_size_ = false;
|
bool address_size_ = false;
|
||||||
Source segment_override_ = Source::None;
|
Source segment_override_ = Source::None;
|
||||||
|
|
||||||
/// Resets size capture and all fields with default values.
|
/// Resets size capture and all fields with default values.
|
||||||
@ -163,7 +163,7 @@ template <Model model> class Decoder {
|
|||||||
displacement_size_ = operand_size_ = 0;
|
displacement_size_ = operand_size_ = 0;
|
||||||
displacement_ = operand_ = 0;
|
displacement_ = operand_ = 0;
|
||||||
lock_ = false;
|
lock_ = false;
|
||||||
memory_size_ = false;
|
address_size_ = false;
|
||||||
segment_override_ = Source::None;
|
segment_override_ = Source::None;
|
||||||
repetition_ = Repetition::None;
|
repetition_ = Repetition::None;
|
||||||
phase_ = Phase::Instruction;
|
phase_ = Phase::Instruction;
|
||||||
|
@ -478,7 +478,7 @@ template<bool is_32bit> class Instruction {
|
|||||||
|
|
||||||
// Fields yet to be properly incorporated...
|
// Fields yet to be properly incorporated...
|
||||||
ScaleIndexBase sib_;
|
ScaleIndexBase sib_;
|
||||||
bool memory_size_ = false;
|
bool address_size_ = false;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// @returns The number of bytes used for meaningful content within this class. A receiver must use at least @c sizeof(Instruction) bytes
|
/// @returns The number of bytes used for meaningful content within this class. A receiver must use at least @c sizeof(Instruction) bytes
|
||||||
@ -489,7 +489,7 @@ template<bool is_32bit> class Instruction {
|
|||||||
SourceSIB source() const { return SourceSIB(Source(sources_ & 0x3f), sib_); }
|
SourceSIB source() const { return SourceSIB(Source(sources_ & 0x3f), sib_); }
|
||||||
SourceSIB destination() const { return SourceSIB(Source((sources_ >> 6) & 0x3f), sib_); }
|
SourceSIB destination() const { return SourceSIB(Source((sources_ >> 6) & 0x3f), sib_); }
|
||||||
bool lock() const { return sources_ & 0x8000; }
|
bool lock() const { return sources_ & 0x8000; }
|
||||||
bool memory_size() const { return memory_size_; }
|
bool address_size() const { return address_size_; }
|
||||||
Source segment_override() const { return Source((sources_ >> 12) & 7); }
|
Source segment_override() const { return Source((sources_ >> 12) & 7); }
|
||||||
|
|
||||||
Repetition repetition() const { return Repetition(repetition_size_ & 3); }
|
Repetition repetition() const { return Repetition(repetition_size_ & 3); }
|
||||||
@ -509,7 +509,7 @@ template<bool is_32bit> class Instruction {
|
|||||||
Source destination,
|
Source destination,
|
||||||
ScaleIndexBase sib,
|
ScaleIndexBase sib,
|
||||||
bool lock,
|
bool lock,
|
||||||
bool memory_size,
|
bool address_size,
|
||||||
Source segment_override,
|
Source segment_override,
|
||||||
Repetition repetition,
|
Repetition repetition,
|
||||||
Size operation_size,
|
Size operation_size,
|
||||||
@ -526,7 +526,7 @@ template<bool is_32bit> class Instruction {
|
|||||||
displacement_(displacement),
|
displacement_(displacement),
|
||||||
operand_(operand),
|
operand_(operand),
|
||||||
sib_(sib),
|
sib_(sib),
|
||||||
memory_size_(memory_size) {}
|
address_size_(address_size) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: repack.
|
// TODO: repack.
|
||||||
|
Loading…
Reference in New Issue
Block a user