mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-29 12:50:28 +00:00
Soften some warnings.
This commit is contained in:
parent
832e31f7e5
commit
233ec7b818
@ -13,6 +13,8 @@
|
|||||||
#include "Stack.hpp"
|
#include "Stack.hpp"
|
||||||
#include "../AccessType.hpp"
|
#include "../AccessType.hpp"
|
||||||
|
|
||||||
|
#include <type_traits>
|
||||||
|
|
||||||
namespace InstructionSet::x86::Primitive {
|
namespace InstructionSet::x86::Primitive {
|
||||||
|
|
||||||
template <typename IntT, typename ContextT>
|
template <typename IntT, typename ContextT>
|
||||||
@ -34,7 +36,7 @@ void jump(
|
|||||||
|
|
||||||
// TODO: proper behaviour in 32-bit.
|
// TODO: proper behaviour in 32-bit.
|
||||||
if(condition) {
|
if(condition) {
|
||||||
context.flow_controller.jump(context.registers.ip() + displacement);
|
context.flow_controller.jump(uint16_t(context.registers.ip() + displacement));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,7 +78,7 @@ void loopne(
|
|||||||
|
|
||||||
template <typename IntT, typename ContextT>
|
template <typename IntT, typename ContextT>
|
||||||
void call_relative(
|
void call_relative(
|
||||||
IntT offset,
|
typename std::make_signed<IntT>::type offset,
|
||||||
ContextT &context
|
ContextT &context
|
||||||
) {
|
) {
|
||||||
push<uint16_t, false>(context.registers.ip(), context);
|
push<uint16_t, false>(context.registers.ip(), context);
|
||||||
|
@ -175,8 +175,8 @@ template <
|
|||||||
case Operation::ESC:
|
case Operation::ESC:
|
||||||
case Operation::NOP: return;
|
case Operation::NOP: return;
|
||||||
|
|
||||||
case Operation::AAM: Primitive::aam(context.registers.axp(), instruction.operand(), context); return;
|
case Operation::AAM: Primitive::aam(context.registers.axp(), uint8_t(instruction.operand()), context); return;
|
||||||
case Operation::AAD: Primitive::aad(context.registers.axp(), instruction.operand(), context); return;
|
case Operation::AAD: Primitive::aad(context.registers.axp(), uint8_t(instruction.operand()), context); return;
|
||||||
case Operation::AAA: Primitive::aaas<true>(context.registers.axp(), context); return;
|
case Operation::AAA: Primitive::aaas<true>(context.registers.axp(), context); return;
|
||||||
case Operation::AAS: Primitive::aaas<false>(context.registers.axp(), context); return;
|
case Operation::AAS: Primitive::aaas<false>(context.registers.axp(), context); return;
|
||||||
case Operation::DAA: Primitive::daas<true>(context.registers.al(), context); return;
|
case Operation::DAA: Primitive::daas<true>(context.registers.al(), context); return;
|
||||||
@ -232,7 +232,9 @@ template <
|
|||||||
case Operation::NEG: Primitive::neg<IntT>(source_rmw(), context); break; // TODO: should be a destination.
|
case Operation::NEG: Primitive::neg<IntT>(source_rmw(), context); break; // TODO: should be a destination.
|
||||||
case Operation::NOT: Primitive::not_<IntT>(source_rmw()); break; // TODO: should be a destination.
|
case Operation::NOT: Primitive::not_<IntT>(source_rmw()); break; // TODO: should be a destination.
|
||||||
|
|
||||||
case Operation::CALLrel: Primitive::call_relative<AddressT>(instruction.displacement(), context); return;
|
case Operation::CALLrel:
|
||||||
|
Primitive::call_relative<AddressT>(instruction.displacement(), context);
|
||||||
|
return;
|
||||||
case Operation::CALLabs: Primitive::call_absolute<IntT>(destination_r(), context); return;
|
case Operation::CALLabs: Primitive::call_absolute<IntT>(destination_r(), context); return;
|
||||||
case Operation::CALLfar: Primitive::call_far(instruction, context); return;
|
case Operation::CALLfar: Primitive::call_far(instruction, context); return;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user