1TEXT main(SB), $0 2 3 ADD R1,R4 4 ADD R1,R3,R4 5 ADD R1<<1,R3,R4 /* logical left */ 6 ADD R1>>1,R3,R4 /* logical right */ 7 ADD R1->1,R3,R4 /* arithmetic right */ 8 ADD R1@>1,R3,R4 /* rotate right */ 9 10 ADD R1<<R2,R3,R4 11 MOVW R1<<R2,R4 12 ADD $10,R1,R4 13 14loop: 15 ADD.S.NE R1,R4 16 BNE loop 17 18 MRC.EQ 3,9,R3,C5,C6,2 19 MRC 3,9,R3,C5,C6,2 20 21 MOVW $(0xf<<28), CPSR 22 MOVW.F R3, SPSR 23 24 SWI 123 25 26 SWPW R1,(R2),R3 27 SWPBU.NE (R2),R3 28 SWPBU R1,(R2) 29 30 MOVM.IA.S.W (R13),[R15] 31 RFE 32