This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

LDRT and rrx'd operand

I was wondering about LDRT when the operand is rrx'd. Which where does the carry-bit come from?

LDRT{<c>}{<q>} <Rt>, [<Rn>], +/-<Rm> {, <shift>}

RRX Rotate right one bit, with extend. Bit[0] is written to shifter_carry_out, bits[31:1] are shifted right

one bit, and the Carry flag is shifted into bit[31].

That's user mode access, and user mode doesn't have SPSR, so where does the carry shifted into the

bit[31] come from? User mode is not necessarily the previous mode.