ARM Instruction Set: Unary Arithmetic and Logic Instructions Assembler input: MOV|MVN , Assembler output: High byte as standard Sixth nybble contains AL subinstruction code and S flag Bits 21-23 (3-bit cardinal) are AL subinstruction code (either A or E) Bit 20 is S flag Fifth nybble is 0 Fourth nybble is destination register Bottom three nybbles depend on base instruction grouping If base instruction code is 1 then: Bit 4 determines whether shift factor is a register or a constant 0 Shift factor is a constant Bits 7-15 (5-bit cardinal) are shift factor Bits 5-6 are barrel shifter subinstruction code 1 Shift factor is a register Third nybble is register containing shift factor Bit 7 is 0 (indicating AL instruction, NOT multiply instruction) Bits 5-6 are barrel shifter subinstruction code Low nybble is source register If base instruction code is 3 then: Bottom three nybbles are an immediate constant The following are valid subinstruction codes: Value Base instruction mnemonic 5 MOV 7 MVN