1 #ifndef AESALON_MONITOR_ASM_REGISTER_H
2 #define AESALON_MONITOR_ASM_REGISTER_H
16 #if AESALON_PLATFORM == AESALON_PLATFORM_x86 || AESALON_PLATFORM == AESALON_PLATFORM_x86_64
38 #if AESALON_PLATFORM == AESALON_PLATFORM_x86_64
72 Register(register_e reg
= INVALID
) : reg(reg
) {}
73 virtual ~Register() {}
75 operator register_e() const {
79 bool operator==(const Register
&other
) const {
80 return other
.reg
== reg
;
82 bool operator==(const register_e
&other
) const {
85 bool operator!=(const Register
&other
) const {
86 return other
.reg
!= reg
;
88 bool operator!=(const register_e
&other
) const {
92 register_e
operator=(const Register
&other
) {
93 return (reg
= other
.reg
);
95 data_size_e
get_register_size() const;
97 static Register
from_string(std::string string
);
101 } // namespace Monitor
102 } // namespace Aesalon