1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-04-22 09:37:21 +00:00

Proceed to a local assert on LMSW.

This commit is contained in:
Thomas Harte 2025-03-22 21:57:56 -04:00
parent b387ca921a
commit ce7ff13bbe
2 changed files with 15 additions and 0 deletions

View File

@ -86,6 +86,14 @@ void smsw(
destination = context.registers.msw();
}
template <typename ContextT>
void lmsw(
read_t<uint16_t> source,
ContextT &context
) {
assert(false);
}
template <DescriptorTable table, typename AddressT, typename InstructionT, typename ContextT>
void ldt(
read_t<AddressT> source_address,

View File

@ -298,6 +298,13 @@ template <
assert(false);
}
break;
case Operation::LMSW:
if constexpr (ContextT::model >= Model::i80286 && std::is_same_v<IntT, uint16_t>) {
Primitive::lmsw(source_r(), context);
} else {
assert(false);
}
break;
case Operation::LIDT:
if constexpr (ContextT::model >= Model::i80286) {
Primitive::ldt<DescriptorTable::Interrupt, AddressT>(source_indirect(), instruction, context);