Home | History | Annotate | Download | only in arm
      1 	.text
      2 	.code 16
      3 .foo:
      4 	lsl	r2, r1, #3
      5 	lsr	r3, r4, #31
      6 wibble/data:
      7 	asr	r7, r0, #5
      8 
      9 	lsl	r1, r2, #0
     10 	lsr	r3, r4, #0
     11 	asr	r4, r5, #0
     12 
     13 	lsr	r6, r7, #32
     14 	asr	r0, r1, #32
     15 
     16 	add	r1, r2, r3
     17 	add	r2, r4, #2
     18 	sub	r3, r5, r7
     19 	sub	r2, r4, #7
     20 
     21 	mov	r4, #255
     22 	cmp	r3, #250
     23 	add	r6, #123
     24 	sub	r5, #128
     25 
     26 	and	r3, r5
     27 	eor	r4, r6
     28 	lsl	r1, r0
     29 	lsr	r2, r3
     30 	asr	r4, r6
     31 	adc	r5, r7
     32 	sbc	r0, r4
     33 	ror	r1, r4
     34 	tst	r2, r5
     35 	neg	r1, r1
     36 	cmp	r2, r3
     37 	cmn	r1, r4
     38 	orr	r0, r3
     39 	mul	r4, r5
     40 	bic	r5, r7
     41 	mvn	r5, r5
     42 
     43 	add	r1, r13
     44 	add	r12, r2
     45 	add	r9, r9
     46 	cmp	r1, r14
     47 	cmp	r8, r0
     48 	cmp	r12, r14
     49 	mov	r0, r9
     50 	mov	r9, r4
     51 	mov	r8, r8
     52 	bx	r7
     53 	bx	r8
     54 	.align 0
     55 	bx	pc
     56 
     57 	ldr	r3, [pc, #128]
     58 	ldr	r4, bar
     59 
     60 	str	r0, [r1, r2]
     61 	strb	r1, [r2, r4]
     62 	ldr	r5, [r6, r7]
     63 	ldrb	r2, [r4, r5]
     64 
     65 	.align 0
     66 bar:
     67 	strh	r1, [r2, r3]
     68 	ldrh	r3, [r4, r0]
     69 	ldsb	r1, [r6, r7]
     70 	ldsh	r2, [r0, r5]
     71 
     72 	str	r3, [r3, #124]
     73 	ldr	r1, [r4, #124]
     74 	ldr	r5, [r5]
     75 	strb	r1, [r5, #31]
     76 	strb	r1, [r4, #5]
     77 	strb	r2, [r6]
     78 
     79 	strh	r4, [r5, #62]
     80 	ldrh	r5, [r0, #4]
     81 	ldrh	r3, [r2]
     82 
     83 	str	r3, [r13, #1020]
     84 	ldr	r1, [r13, #44]
     85 	ldr	r2, [r13]
     86 
     87 	add	r7, r15, #1020
     88 	add	r4, r13, #512
     89 
     90 	add	r13, #268
     91 	add	r13, #-104
     92 	sub	r13, #268
     93 	sub	r13, #-108
     94 
     95 	push	{r0, r1, r2, r4}
     96 	push	{r0, r3-r7, lr}
     97 	pop	{r3, r4, r7}
     98 	pop	{r0-r7, r15}
     99 
    100 	stmia	r3!, {r0, r1, r4-r7}
    101 	ldmia	r0!, {r1-r7}
    102 
    103 	beq	bar
    104 	bne	bar
    105 	bcs	bar
    106 	bcc	bar
    107 	bmi	bar
    108 	bpl	bar
    109 	bvs	bar
    110 	bvc	bar
    111 	bhi	bar
    112 	bls	bar
    113 	bge	bar
    114 	bgt	bar
    115 	blt	bar
    116 	bgt	bar
    117 	ble	bar
    118 	bhi	bar
    119 	blo	bar
    120 	bul	bar
    121 	bal	bar
    122 
    123 close:
    124 	lsl	r4, r5, #near - close
    125 near:
    126 	add	r2, r3, #near - close
    127 
    128 	add	sp, sp, #127 << 2
    129 	sub	sp, sp, #127 << 2
    130 	add	r0, sp, #255 << 2
    131 	add	r0, pc, #255 << 2
    132 
    133 	add	sp, sp, #bar - .foo
    134 	sub	sp, sp, #bar - .foo
    135 	add	r0, sp, #bar - .foo
    136 	add	r0, pc, #bar - .foo
    137 
    138 	add	r1, #bar - .foo
    139 	mov	r6, #bar - .foo
    140 	cmp	r7, #bar - .foo
    141 
    142 	nop
    143 	nop
    144 
    145 	.arm
    146 .localbar:
    147 	b	.localbar
    148 	b	.back
    149 	bl	.localbar
    150 	bl	.back
    151 
    152 	bx	r0
    153 	swi	0x123456
    154 
    155 	.thumb
    156 	@ The following will be disassembled incorrectly if we do not
    157 	@ have a Thumb symbol defined before the first Thumb instruction:
    158 morethumb:
    159 	adr	r0, forwardonly
    160 
    161 	b	.foo
    162 	b	.back
    163 	bl	.foo
    164 	bl	.back
    165 
    166 	bx	r0
    167 
    168 	swi	0xff
    169 	.align	0
    170 forwardonly:
    171 	beq	.back
    172 	bne	.back
    173 	bcs	.back
    174 	bcc	.back
    175 	bmi	.back
    176 	bpl	.back
    177 	bvs	.back
    178 	bvc	.back
    179 	bhi	.back
    180 	bls	.back
    181 	bge	.back
    182 	bgt	.back
    183 	blt	.back
    184 	bgt	.back
    185 	ble	.back
    186 	bhi	.back
    187 	blo	.back
    188 	bul	.back
    189 
    190 .back:
    191 	bl	.local
    192 	.space	(1 << 11)	@ leave space to force long offsets
    193 .local:
    194 	bl	.back
    195 
    196 	ldr	r0, .target
    197 	ldr	r0, .target
    198 	ldr	r0, [pc, #4]
    199 	ldr	r0, [pc, #4]
    200 .target:
    201 baz:
    202 	mov	r0, r1
    203 	nop
    204 
    205 	adr	r0, pr18541
    206 	adr	r0, pr18541
    207 	adr	r0, pr18541
    208 	nop
    209 	.align
    210 	.global pr18541
    211 pr18541:
    212 	.long	0
    213 
    214