So I need to write a very basic disassembler for class and I'm having a hard time figuring out how the S that can be appended to Thumb instructions is encoded.
For example, the instruction 0x0011 corresponds with the following assembly code:
movs r1, r2
Why wouldn't it just be a regular mov?
Likewise, 0x1889 corresponds with:
adds r1, r1, r2
As far as I can tell from reading the reference manual, this is the same encoding as the regular add instruction without the S. Is this the case? How is the instruction for updating condition flags sent?