Home | History | Annotate | Download | only in arm
      1 #objdump: -dr --prefix-addresses --show-raw-insn
      2 #name: ARM basic instructions
      3 #as: -mcpu=arm7m -EL
      4 # WinCE has its own version of this test.
      5 #skip: *-wince-*
      6 
      7 # Test the standard ARM instructions:
      8 
      9 .*: +file format .*arm.*
     10 
     11 Disassembly of section .text:
     12 0+000 <[^>]*> e3a00000 ?	mov	r0, #0
     13 0+004 <[^>]*> e1a01002 ?	mov	r1, r2
     14 0+008 <[^>]*> e1a03184 ?	lsl	r3, r4, #3
     15 0+00c <[^>]*> e1a05736 ?	lsr	r5, r6, r7
     16 0+010 <[^>]*> e1a08a59 ?	asr	r8, r9, sl
     17 0+014 <[^>]*> e1a0bd1c ?	lsl	fp, ip, sp
     18 0+018 <[^>]*> e1a0e06f ?	rrx	lr, pc
     19 0+01c <[^>]*> e1a01002 ?	mov	r1, r2
     20 0+020 <[^>]*> 01a02003 ?	moveq	r2, r3
     21 0+024 <[^>]*> 11a04005 ?	movne	r4, r5
     22 0+028 <[^>]*> b1a06007 ?	movlt	r6, r7
     23 0+02c <[^>]*> a1a08009 ?	movge	r8, r9
     24 0+030 <[^>]*> d1a0a00b ?	movle	sl, fp
     25 0+034 <[^>]*> c1a0c00d ?	movgt	ip, sp
     26 0+038 <[^>]*> 31a01002 ?	movcc	r1, r2
     27 0+03c <[^>]*> 21a01003 ?	movcs	r1, r3
     28 0+040 <[^>]*> 41a03006 ?	movmi	r3, r6
     29 0+044 <[^>]*> 51a07009 ?	movpl	r7, r9
     30 0+048 <[^>]*> 61a01008 ?	movvs	r1, r8
     31 0+04c <[^>]*> 71a09fa1 ?	lsrvc	r9, r1, #31
     32 0+050 <[^>]*> 81a0800f ?	movhi	r8, pc
     33 0+054 <[^>]*> 91a0f00e ?	movls	pc, lr
     34 0+058 <[^>]*> 21a09008 ?	movcs	r9, r8
     35 0+05c <[^>]*> 31a01003 ?	movcc	r1, r3
     36 0+060 <[^>]*> e1b00008 ?	movs	r0, r8
     37 0+064 <[^>]*> 31b00007 ?	movscc	r0, r7
     38 0+068 <[^>]*> e281000a ?	add	r0, r1, #10
     39 0+06c <[^>]*> e0832004 ?	add	r2, r3, r4
     40 0+070 <[^>]*> e0865287 ?	add	r5, r6, r7, lsl #5
     41 0+074 <[^>]*> e0821113 ?	add	r1, r2, r3, lsl r1
     42 0+078 <[^>]*> e201000a ?	and	r0, r1, #10
     43 0+07c <[^>]*> e0032004 ?	and	r2, r3, r4
     44 0+080 <[^>]*> e0065287 ?	and	r5, r6, r7, lsl #5
     45 0+084 <[^>]*> e0021113 ?	and	r1, r2, r3, lsl r1
     46 0+088 <[^>]*> e221000a ?	eor	r0, r1, #10
     47 0+08c <[^>]*> e0232004 ?	eor	r2, r3, r4
     48 0+090 <[^>]*> e0265287 ?	eor	r5, r6, r7, lsl #5
     49 0+094 <[^>]*> e0221113 ?	eor	r1, r2, r3, lsl r1
     50 0+098 <[^>]*> e241000a ?	sub	r0, r1, #10
     51 0+09c <[^>]*> e0432004 ?	sub	r2, r3, r4
     52 0+0a0 <[^>]*> e0465287 ?	sub	r5, r6, r7, lsl #5
     53 0+0a4 <[^>]*> e0421113 ?	sub	r1, r2, r3, lsl r1
     54 0+0a8 <[^>]*> e2a1000a ?	adc	r0, r1, #10
     55 0+0ac <[^>]*> e0a32004 ?	adc	r2, r3, r4
     56 0+0b0 <[^>]*> e0a65287 ?	adc	r5, r6, r7, lsl #5
     57 0+0b4 <[^>]*> e0a21113 ?	adc	r1, r2, r3, lsl r1
     58 0+0b8 <[^>]*> e2c1000a ?	sbc	r0, r1, #10
     59 0+0bc <[^>]*> e0c32004 ?	sbc	r2, r3, r4
     60 0+0c0 <[^>]*> e0c65287 ?	sbc	r5, r6, r7, lsl #5
     61 0+0c4 <[^>]*> e0c21113 ?	sbc	r1, r2, r3, lsl r1
     62 0+0c8 <[^>]*> e261000a ?	rsb	r0, r1, #10
     63 0+0cc <[^>]*> e0632004 ?	rsb	r2, r3, r4
     64 0+0d0 <[^>]*> e0665287 ?	rsb	r5, r6, r7, lsl #5
     65 0+0d4 <[^>]*> e0621113 ?	rsb	r1, r2, r3, lsl r1
     66 0+0d8 <[^>]*> e2e1000a ?	rsc	r0, r1, #10
     67 0+0dc <[^>]*> e0e32004 ?	rsc	r2, r3, r4
     68 0+0e0 <[^>]*> e0e65287 ?	rsc	r5, r6, r7, lsl #5
     69 0+0e4 <[^>]*> e0e21113 ?	rsc	r1, r2, r3, lsl r1
     70 0+0e8 <[^>]*> e381000a ?	orr	r0, r1, #10
     71 0+0ec <[^>]*> e1832004 ?	orr	r2, r3, r4
     72 0+0f0 <[^>]*> e1865287 ?	orr	r5, r6, r7, lsl #5
     73 0+0f4 <[^>]*> e1821113 ?	orr	r1, r2, r3, lsl r1
     74 0+0f8 <[^>]*> e3c1000a ?	bic	r0, r1, #10
     75 0+0fc <[^>]*> e1c32004 ?	bic	r2, r3, r4
     76 0+100 <[^>]*> e1c65287 ?	bic	r5, r6, r7, lsl #5
     77 0+104 <[^>]*> e1c21113 ?	bic	r1, r2, r3, lsl r1
     78 0+108 <[^>]*> e3e0000a ?	mvn	r0, #10
     79 0+10c <[^>]*> e1e02004 ?	mvn	r2, r4
     80 0+110 <[^>]*> e1e05287 ?	mvn	r5, r7, lsl #5
     81 0+114 <[^>]*> e1e01113 ?	mvn	r1, r3, lsl r1
     82 0+118 <[^>]*> e310000a ?	tst	r0, #10
     83 0+11c <[^>]*> e1120004 ?	tst	r2, r4
     84 0+120 <[^>]*> e1150287 ?	tst	r5, r7, lsl #5
     85 0+124 <[^>]*> e1110113 ?	tst	r1, r3, lsl r1
     86 0+128 <[^>]*> e330000a ?	teq	r0, #10
     87 0+12c <[^>]*> e1320004 ?	teq	r2, r4
     88 0+130 <[^>]*> e1350287 ?	teq	r5, r7, lsl #5
     89 0+134 <[^>]*> e1310113 ?	teq	r1, r3, lsl r1
     90 0+138 <[^>]*> e350000a ?	cmp	r0, #10
     91 0+13c <[^>]*> e1520004 ?	cmp	r2, r4
     92 0+140 <[^>]*> e1550287 ?	cmp	r5, r7, lsl #5
     93 0+144 <[^>]*> e1510113 ?	cmp	r1, r3, lsl r1
     94 0+148 <[^>]*> e370000a ?	cmn	r0, #10
     95 0+14c <[^>]*> e1720004 ?	cmn	r2, r4
     96 0+150 <[^>]*> e1750287 ?	cmn	r5, r7, lsl #5
     97 0+154 <[^>]*> e1710113 ?	cmn	r1, r3, lsl r1
     98 0+158 <[^>]*> e330f00a ?	teq	r0, #10	; <UNPREDICTABLE>
     99 0+15c <[^>]*> e132f004 ?	teq	r2, r4	; <UNPREDICTABLE>
    100 0+160 <[^>]*> e135f287 ?	teq	r5, r7, lsl #5	; <UNPREDICTABLE>
    101 0+164 <[^>]*> e131f113 ?	teq	r1, r3, lsl r1	; <UNPREDICTABLE>
    102 0+168 <[^>]*> e370f00a ?	cmn	r0, #10	; <UNPREDICTABLE>
    103 0+16c <[^>]*> e172f004 ?	cmn	r2, r4	; <UNPREDICTABLE>
    104 0+170 <[^>]*> e175f287 ?	cmn	r5, r7, lsl #5	; <UNPREDICTABLE>
    105 0+174 <[^>]*> e171f113 ?	cmn	r1, r3, lsl r1	; <UNPREDICTABLE>
    106 0+178 <[^>]*> e350f00a ?	cmp	r0, #10	; <UNPREDICTABLE>
    107 0+17c <[^>]*> e152f004 ?	cmp	r2, r4	; <UNPREDICTABLE>
    108 0+180 <[^>]*> e155f287 ?	cmp	r5, r7, lsl #5	; <UNPREDICTABLE>
    109 0+184 <[^>]*> e151f113 ?	cmp	r1, r3, lsl r1	; <UNPREDICTABLE>
    110 0+188 <[^>]*> e310f00a ?	tst	r0, #10	; <UNPREDICTABLE>
    111 0+18c <[^>]*> e112f004 ?	tst	r2, r4	; <UNPREDICTABLE>
    112 0+190 <[^>]*> e115f287 ?	tst	r5, r7, lsl #5	; <UNPREDICTABLE>
    113 0+194 <[^>]*> e111f113 ?	tst	r1, r3, lsl r1	; <UNPREDICTABLE>
    114 0+198 <[^>]*> e0000291 ?	mul	r0, r1, r2
    115 0+19c <[^>]*> e0110392 ?	muls	r1, r2, r3
    116 0+1a0 <[^>]*> 10000091 ?	mulne	r0, r1, r0
    117 0+1a4 <[^>]*> 90190798 ?	mulsls	r9, r8, r7
    118 0+1a8 <[^>]*> e021ba99 ?	mla	r1, r9, sl, fp
    119 0+1ac <[^>]*> e033c994 ?	mlas	r3, r4, r9, ip
    120 0+1b0 <[^>]*> b029d798 ?	mlalt	r9, r8, r7, sp
    121 0+1b4 <[^>]*> a034e391 ?	mlasge	r4, r1, r3, lr
    122 0+1b8 <[^>]*> e5910000 ?	ldr	r0, \[r1\]
    123 0+1bc <[^>]*> e7911002 ?	ldr	r1, \[r1, r2\]
    124 0+1c0 <[^>]*> e7b32004 ?	ldr	r2, \[r3, r4\]!
    125 0+1c4 <[^>]*> e5922020 ?	ldr	r2, \[r2, #32\]
    126 0+1c8 <[^>]*> e7932424 ?	ldr	r2, \[r3, r4, lsr #8\]
    127 0+1cc <[^>]*> 07b54484 ?	ldreq	r4, \[r5, r4, lsl #9\]!
    128 0+1d0 <[^>]*> 14954006 ?	ldrne	r4, \[r5\], #6
    129 0+1d4 <[^>]*> e6b21003 ?	ldrt	r1, \[r2\], r3
    130 0+1d8 <[^>]*> e6942425 ?	ldr	r2, \[r4\], r5, lsr #8
    131 0+1dc <[^>]*> e51f0008 ?	ldr	r0, \[pc, #-8\]	; 0+1dc <[^>]*>
    132 0+1e0 <[^>]*> e5d43000 ?	ldrb	r3, \[r4\]
    133 0+1e4 <[^>]*> 14f85000 ?	ldrbtne	r5, \[r8\], #0
    134 0+1e8 <[^>]*> e5810000 ?	str	r0, \[r1\]
    135 0+1ec <[^>]*> e7811002 ?	str	r1, \[r1, r2\]
    136 0+1f0 <[^>]*> e7a43003 ?	str	r3, \[r4, r3\]!
    137 0+1f4 <[^>]*> e5822020 ?	str	r2, \[r2, #32\]
    138 0+1f8 <[^>]*> e7832424 ?	str	r2, \[r3, r4, lsr #8\]
    139 0+1fc <[^>]*> 07a54484 ?	streq	r4, \[r5, r4, lsl #9\]!
    140 0+200 <[^>]*> 14854006 ?	strne	r4, \[r5\], #6
    141 0+204 <[^>]*> e6821003 ?	str	r1, \[r2\], r3
    142 0+208 <[^>]*> e6a42425 ?	strt	r2, \[r4\], r5, lsr #8
    143 0+20c <[^>]*> e50f1004 ?	str	r1, \[pc, #-4\]	; 0+210 <[^>]*>
    144 0+210 <[^>]*> e5c71000 ?	strb	r1, \[r7\]
    145 0+214 <[^>]*> e4e02000 ?	strbt	r2, \[r0\], #0
    146 0+218 <[^>]*> e8900002 ?	ldm	r0, {r1}
    147 0+21c <[^>]*> 09920038 ?	ldmibeq	r2, {r3, r4, r5}
    148 0+220 <[^>]*> e853ffff ?	ldmda	r3, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr, pc}\^
    149 0+224 <[^>]*> e93b05ff ?	ldmdb	fp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, sl}
    150 0+228 <[^>]*> e99100f7 ?	ldmib	r1, {r0, r1, r2, r4, r5, r6, r7}
    151 0+22c <[^>]*> e89201f8 ?	ldm	r2, {r3, r4, r5, r6, r7, r8}
    152 0+230 <[^>]*> e9130003 ?	ldmdb	r3, {r0, r1}
    153 0+234 <[^>]*> e8540300 ?	ldmda	r4, {r8, r9}\^
    154 0+238 <[^>]*> e8800002 ?	stm	r0, {r1}
    155 0+23c <[^>]*> 09820038 ?	stmibeq	r2, {r3, r4, r5}
    156 0+240 <[^>]*> e843ffff ?	stmda	r3, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr, pc}\^
    157 0+244 <[^>]*> e92b05ff ?	stmdb	fp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, sl}
    158 0+248 <[^>]*> e8010007 ?	stmda	r1, {r0, r1, r2}
    159 0+24c <[^>]*> e9020018 ?	stmdb	r2, {r3, r4}
    160 0+250 <[^>]*> e8830003 ?	stm	r3, {r0, r1}
    161 0+254 <[^>]*> e9c40300 ?	stmib	r4, {r8, r9}\^
    162 0+258 <[^>]*> ef123456 ?	(swi|svc)	0x00123456
    163 0+25c <[^>]*> 2f000033 ?	(swi|svc)cs	0x00000033
    164 0+260 <[^>]*> eb...... ?	bl	0[0123456789abcdef]+ <[^>]*>
    165 [		]*260:.*_wombat.*
    166 0+264 <[^>]*> 5b...... ?	blpl	0[0123456789abcdef]+ <[^>]*>
    167 [		]*264:.*ARM.*hohum.*
    168 0+268 <[^>]*> ea...... ?	b	0[0123456789abcdef]+ <[^>]*>
    169 [		]*268:.*_wibble.*
    170 0+26c <[^>]*> da...... ?	ble	0[0123456789abcdef]+ <[^>]*>
    171 [		]*26c:.*testerfunc.*
    172 0+270 <[^>]*> e1a01102 ?	lsl	r1, r2, #2
    173 0+274 <[^>]*> e1a01002 ?	mov	r1, r2
    174 0+278 <[^>]*> e1a01f82 ?	lsl	r1, r2, #31
    175 0+27c <[^>]*> e1a01312 ?	lsl	r1, r2, r3
    176 0+280 <[^>]*> e1a01122 ?	lsr	r1, r2, #2
    177 0+284 <[^>]*> e1a01fa2 ?	lsr	r1, r2, #31
    178 0+288 <[^>]*> e1a01022 ?	lsr	r1, r2, #32
    179 0+28c <[^>]*> e1a01332 ?	lsr	r1, r2, r3
    180 0+290 <[^>]*> e1a01142 ?	asr	r1, r2, #2
    181 0+294 <[^>]*> e1a01fc2 ?	asr	r1, r2, #31
    182 0+298 <[^>]*> e1a01042 ?	asr	r1, r2, #32
    183 0+29c <[^>]*> e1a01352 ?	asr	r1, r2, r3
    184 0+2a0 <[^>]*> e1a01162 ?	ror	r1, r2, #2
    185 0+2a4 <[^>]*> e1a01fe2 ?	ror	r1, r2, #31
    186 0+2a8 <[^>]*> e1a01372 ?	ror	r1, r2, r3
    187 0+2ac <[^>]*> e1a01062 ?	rrx	r1, r2
    188 0+2b0 <[^>]*> e1a01102 ?	lsl	r1, r2, #2
    189 0+2b4 <[^>]*> e1a01002 ?	mov	r1, r2
    190 0+2b8 <[^>]*> e1a01f82 ?	lsl	r1, r2, #31
    191 0+2bc <[^>]*> e1a01312 ?	lsl	r1, r2, r3
    192 0+2c0 <[^>]*> e1a01122 ?	lsr	r1, r2, #2
    193 0+2c4 <[^>]*> e1a01fa2 ?	lsr	r1, r2, #31
    194 0+2c8 <[^>]*> e1a01022 ?	lsr	r1, r2, #32
    195 0+2cc <[^>]*> e1a01332 ?	lsr	r1, r2, r3
    196 0+2d0 <[^>]*> e1a01142 ?	asr	r1, r2, #2
    197 0+2d4 <[^>]*> e1a01fc2 ?	asr	r1, r2, #31
    198 0+2d8 <[^>]*> e1a01042 ?	asr	r1, r2, #32
    199 0+2dc <[^>]*> e1a01352 ?	asr	r1, r2, r3
    200 0+2e0 <[^>]*> e1a01162 ?	ror	r1, r2, #2
    201 0+2e4 <[^>]*> e1a01fe2 ?	ror	r1, r2, #31
    202 0+2e8 <[^>]*> e1a01372 ?	ror	r1, r2, r3
    203 0+2ec <[^>]*> e1a01062 ?	rrx	r1, r2
    204 0+2f0 <[^>]*> e6b21003 ?	ldrt	r1, \[r2\], r3
    205