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 a 16 bit half-word into a register and rotate the value left by 16 bits (<<16)
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.