blob: d1e43394efa2eec41176dcd167183e7426feb33c [file] [log] [blame]
.text
.code 16
.foo:
lsl r2, r1, #3
lsr r3, r4, #31
wibble/data:
asr r7, r0, #5
lsl r1, r2, #0
lsr r3, r4, #0
asr r4, r5, #0
lsr r6, r7, #32
asr r0, r1, #32
add r1, r2, r3
add r2, r4, #2
sub r3, r5, r7
sub r2, r4, #7
mov r4, #255
cmp r3, #250
add r6, #123
sub r5, #128
and r3, r5
eor r4, r6
lsl r1, r0
lsr r2, r3
asr r4, r6
adc r5, r7
sbc r0, r4
ror r1, r4
tst r2, r5
neg r1, r1
cmp r2, r3
cmn r1, r4
orr r0, r3
mul r4, r5
bic r5, r7
mvn r5, r5
add r1, r13
add r12, r2
add r9, r9
cmp r1, r14
cmp r8, r0
cmp r12, r14
mov r0, r9
mov r9, r4
mov r8, r8
bx r7
bx r8
.align 0
bx pc
ldr r3, [pc, #128]
ldr r4, bar
str r0, [r1, r2]
strb r1, [r2, r4]
ldr r5, [r6, r7]
ldrb r2, [r4, r5]
.align 0
bar:
strh r1, [r2, r3]
ldrh r3, [r4, r0]
ldsb r1, [r6, r7]
ldsh r2, [r0, r5]
str r3, [r3, #124]
ldr r1, [r4, #124]
ldr r5, [r5]
strb r1, [r5, #31]
strb r1, [r4, #5]
strb r2, [r6]
strh r4, [r5, #62]
ldrh r5, [r0, #4]
ldrh r3, [r2]
str r3, [r13, #1020]
ldr r1, [r13, #44]
ldr r2, [r13]
add r7, r15, #1020
add r4, r13, #512
add r13, #268
add r13, #-104
sub r13, #268
sub r13, #-108
push {r0, r1, r2, r4}
push {r0, r3-r7, lr}
pop {r3, r4, r7}
pop {r0-r7, r15}
stmia r3!, {r0, r1, r4-r7}
ldmia r0!, {r1-r7}
beq bar
bne bar
bcs bar
bcc bar
bmi bar
bpl bar
bvs bar
bvc bar
bhi bar
bls bar
bge bar
bgt bar
blt bar
bgt bar
ble bar
bhi bar
blo bar
bul bar
bal bar
close:
lsl r4, r5, #near - close
near:
add r2, r3, #near - close
add sp, sp, #127 << 2
sub sp, sp, #127 << 2
add r0, sp, #255 << 2
add r0, pc, #255 << 2
add sp, sp, #bar - .foo
sub sp, sp, #bar - .foo
add r0, sp, #bar - .foo
add r0, pc, #bar - .foo
add r1, #bar - .foo
mov r6, #bar - .foo
cmp r7, #bar - .foo
nop
nop
.arm
.localbar:
b .localbar
b .back
bl .localbar
bl .back
bx r0
swi 0x123456
.thumb
@ The following will be disassembled incorrectly if we do not
@ have a Thumb symbol defined before the first Thumb instruction:
morethumb:
adr r0, forwardonly
b .foo
b .back
bl .foo
bl .back
bx r0
swi 0xff
.align 0
forwardonly:
beq .back
bne .back
bcs .back
bcc .back
bmi .back
bpl .back
bvs .back
bvc .back
bhi .back
bls .back
bge .back
bgt .back
blt .back
bgt .back
ble .back
bhi .back
blo .back
bul .back
.back:
bl .local
.space (1 << 11) @ leave space to force long offsets
.local:
bl .back
ldr r0, .target
ldr r0, .target
ldr r0, [pc, #4]
ldr r0, [pc, #4]
.target:
nop @ pad for a.out
nop