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 ADD $10,R1,R4 12 13loop: 14 ADD.S.NE R1,R4 15 BNE loop 16 17 MOVW R3, CPSR 18 MOVW R3, SPSR 19 MOVW R3, F10 20 MOVW R3, (R2) 21 MOVW R3, 10(R2) 22 MOVW R3, name(SB) 23 MOVW R3, name(SB)(R2) 24 MOVW R3, name(SB)(R2) 25 MOVW R3, (R2) 26 MOVW R3, R1<<2(R2) 27 28 MRC.EQ 3,9,R3,C5,C6,2 29 MRC 3,9,R3,C5,C6,2 30 31 MOVM.IA [R0,SP,R4], (R2) 32 MOVM.DB.W (R0), [R6-R11] 33 MOVM.DB.W (R0), [R0-R11] 34 MOVM.S (R0), [R0-R11] // .S is supervisor space 35 36 CMN $4096,R0, 37 38 RET 39