mov(reg, int8) move an 8 bit integer into register reg
mov(regA, regB) move content of regB into regA (8 bits)
movw(reg, val) move a 16 bit half-word into register
movt(reg, val) Move Top writes an immediate value to the top halfword of the destination register. It does not affect the contents of the bottom halfword.
movwt(reg, val) move 32 bit word into register (two steps movw, movt including a <= 0x3fffffff+1` doesn't work, workaround is to use the basic movw and movt operations.