1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-30 04:50:08 +00:00

There's no TODO here; overflow is always 0 for a 16x16 multiply.

... and the original 68000 doesn't support 32x32 multiplies.
This commit is contained in:
Thomas Harte 2020-01-03 22:44:19 -05:00
parent ca12ba297b
commit c7a5b054db

View File

@ -940,7 +940,7 @@ template <class T, bool dtack_is_implicit, bool signal_will_perform> void Proces
case Operation::MULU: { case Operation::MULU: {
destination()->full = destination()->halves.low.full * source()->halves.low.full; destination()->full = destination()->halves.low.full * source()->halves.low.full;
carry_flag_ = overflow_flag_ = 0; // TODO: "set if overflow". carry_flag_ = overflow_flag_ = 0;
zero_result_ = destination()->full; zero_result_ = destination()->full;
negative_flag_ = zero_result_ & 0x80000000; negative_flag_ = zero_result_ & 0x80000000;
@ -954,7 +954,7 @@ template <class T, bool dtack_is_implicit, bool signal_will_perform> void Proces
case Operation::MULS: { case Operation::MULS: {
destination()->full = destination()->full =
u_extend16(destination()->halves.low.full) * u_extend16(source()->halves.low.full); u_extend16(destination()->halves.low.full) * u_extend16(source()->halves.low.full);
carry_flag_ = overflow_flag_ = 0; // TODO: "set if overflow". carry_flag_ = overflow_flag_ = 0;
zero_result_ = destination()->full; zero_result_ = destination()->full;
negative_flag_ = zero_result_ & 0x80000000; negative_flag_ = zero_result_ & 0x80000000;