1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-02-05 21:32:55 +00:00

Adjust user-mode test.

This commit is contained in:
Thomas Harte 2024-03-07 14:00:38 -05:00
parent 0e92885ed5
commit 2a36d0fcbc

View File

@ -394,13 +394,12 @@ struct Executor {
// the end.
const Mode original_mode = registers_.mode();
const bool adopt_user_mode =
(
flags.operation() == BlockDataTransferFlags::Operation::STM &&
flags.load_psr()
) ||
(
flags.operation() == BlockDataTransferFlags::Operation::LDM &&
!(list & (1 << 15))
flags.load_psr() && (
flags.operation() == BlockDataTransferFlags::Operation::STM ||
(
flags.operation() == BlockDataTransferFlags::Operation::LDM &&
!(list & (1 << 15))
)
);
if(adopt_user_mode) {
registers_.set_mode(Mode::User);