diff --git a/src/crab/gba/thumb/move_shifted_register.cr b/src/crab/gba/thumb/move_shifted_register.cr index f21d439..13637c0 100644 --- a/src/crab/gba/thumb/move_shifted_register.cr +++ b/src/crab/gba/thumb/move_shifted_register.cr @@ -10,7 +10,8 @@ module GBA when 0b00 then set_reg(rd, lsl(@r[rs], offset, pointerof(carry_out))) when 0b01 then set_reg(rd, lsr(@r[rs], offset, true, pointerof(carry_out))) when 0b10 then set_reg(rd, asr(@r[rs], offset, true, pointerof(carry_out))) - else raise "Invalid shifted register op: #{op}" + when 0b11 # encodes thumb add/subtract + else raise "Invalid shifted register op: #{op}" end set_neg_and_zero_flags(@r[rd]) @cpsr.carry = carry_out