From 7c9715f00cdbe8720920ffe3e865040699bf2b01 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Mon, 1 Apr 2024 21:38:44 -0400 Subject: [PATCH] Change mind about carry behaviour. --- InstructionSets/ARM/Executor.hpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/InstructionSets/ARM/Executor.hpp b/InstructionSets/ARM/Executor.hpp index b49646747..1fe075bae 100644 --- a/InstructionSets/ARM/Executor.hpp +++ b/InstructionSets/ARM/Executor.hpp @@ -120,13 +120,8 @@ struct Executor { operand2 = fields.immediate(); if(fields.rotate()) { shift(operand2, fields.rotate(), rotate_carry); - } else { - // This is possibly clarified by later data sheets; take carry as if a rotate by 32 - // had occurred. - if constexpr (shift_sets_carry) { - rotate_carry = operand2 & 0x8000'0000; - } } + // Complete guess: carry is unaffected by an immediate value that doesn't rotate. } else { operand2 = decode_shift(fields, rotate_carry, shift_by_register ? 8 : 4); }