1 @ ARM instructions defined for source compatibility with Thumb. 2 .macro shift op opls ops oplss 3 \oplss r9,r0 4 \opls r0,r0,r9 5 \ops r0,#17 6 \op r0,r9,#17 7 .endm 8 .text 9 .global l 10l: 11 cpyls r0,r0 12 cpy r9,r0 13 cpy r0,r9 14 cpy ip,lr 15 16 shift lsl lslls lsls lsllss 17 shift lsr lsrls lsrs lsrlss 18 shift asr asrls asrs asrlss 19 shift ror rorls rors rorlss 20 21 neg r0,r9 22 negs r9,r0 23 negls r0,r0 24 neglss r9,r9 25 26 push {r1,r2,r3} 27 pushls {r2,r4,r6,r8,pc} 28 pop {r1,r2,r3} 29 popls {r2,r4,r6,r8,pc} 30 31 @ Two-argument forms of ARM arithmetic instructions. 32 and r0,r1 33 eor r0,r1 34 sub r0,r1 35 rsb r0,r1 36 37 add r0,r1 38 adc r0,r1 39 sbc r0,r1 40 rsc r0,r1 41 42 orr r0,r1 43 bic r0,r1 44 mul r0,r1 45 nop 46 47 rrx r0,r9 48 rrxs r9,r0 49 nop 50 nop 51