Content originally posted in LPCWare by igorsk on Fri Apr 16 10:04:12 MST 2010
Those are Thumb-2 (ARMv7M) instructions. You can find the descriptions in the ARMv7 reference manual (either v7M or v7A&R versions). In short:
MOVW is a variation of MOV (immediate) which can load an arbitrary 16-bit immediate into the register. MOVT is "Move Top", doing the same but for the top 16 bits of the register. Together, they allow to load any 32-bit immediate into the register without having to use the literal pool, which would incur additional delays because of memory bus access.
The .w suffix denotes that the instruction is 32-bit (used to distinguish from 16-bit istructions with the same mnemonic).