1. I will hardwired 9 to reg1, just for it to have some value other from x adds r0, r1, #27 //put r1 + 27 to r0 and set flags //r0 = r1 + 27 = 9 + 27 = 36 //r0 = 36 1110 00 1 0100 1 0001 0000 0000 00011011
2. subs r2, r0, r1 lsl #2 ,r2 = r0 - r1<<2, r2 = 36 - 9<<2 = 36 - 6'b100100 = 36 - 36 = 0 1110 00 0 0010 1 0000 0010 00010 00 0 0001
3. str r2, [r1, imm12] //store r2's value to the location r1 + imm12 // r1 + imm12 = 9 + 2 = 11 // mem11 = 9 cond op I P U B W L Rn Rd imm12 1110 01 1 1 1 0 0 0 0001 0010 000000000010 cond op I P U B W L Rn Rd imm12
4. beq label brench to label = PC+Imm24<<2 r15 = 4 + 2<<2 = 12 my flags are nzvc - 0101, cond - 0000 - EQ Equal Z 0000 10 10 000000000000000000000110