1
0
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:
Thomas Harte 2022-02-21 15:52:16 -05:00
parent b968a662d3
commit 229af0380c
3 changed files with 7 additions and 7 deletions

View File

@ -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_),

View File

@ -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;

View File

@ -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.