Showing the changes to src/vm/module_reader.cpp (1 of 3 files). Show all
Unified · Split
| @@ -197,7 +197,7 @@ namespace · 196 unmodified lines | |||
| 197 | static const auto mid_mask = uint8_t{ 0xc0 }; | 197 | static const auto mid_mask = uint8_t{ 0xc0 }; |
| 198 | static const auto src_mask = uint8_t{ 0x38 }; | 198 | static const auto src_mask = uint8_t{ 0x38 }; |
| 199 | static const auto dest_mask = uint8_t{ 0x07 }; | 199 | static const auto dest_mask = uint8_t{ 0x07 }; |
| 200 | assert((mid_mask | src_mask | dest_mask) == std::numeric_limits<addr_code_t>::max()); | 200 | static_assert((mid_mask | src_mask | dest_mask) == std::numeric_limits<addr_code_t>::max(), "Incomplete masks for addressing modes"); |
| 201 | 201 | ||
| 202 | const auto mid = static_cast<address_mode_middle_t>((instr_addr_mode & mid_mask) >> 6); | 202 | const auto mid = static_cast<address_mode_middle_t>((instr_addr_mode & mid_mask) >> 6); |
| 203 | const auto src = static_cast<address_mode_t>((instr_addr_mode & src_mask) >> 3); | 203 | const auto src = static_cast<address_mode_t>((instr_addr_mode & src_mask) >> 3); |