daily update
[external/binutils.git] / sim / testsuite / sim / cris / asm / bare3.ms
1 # mach: crisv32
2 # ld: -N --oformat binary --section-start=.text=0x10000000
3 # sim: --architecture crisv32 --target binary --cris-program-offset=0x10000000 --cris-start-address=0x10000040 --cris-naked --memory-region 0x10000000,0x1000
4  .include "testutils.inc"
5
6 ; Test that we can load a binary program at a non-zero address.
7 ; Also serves to exercise the --cris-program-offset and
8 ; --cris-start-address options.
9
10 ; Make sure starting at the first address does fail.
11  fail
12
13 ; ...and that we know an offset we can jump for it to work, and all we
14 ; have to assume is that "fail" takes no more than 64 bytes.
15  .p2align 6
16  ba _start
17  nop
18
19
20  start
21 x:
22
23 ; Make sure we're loaded at the linked address.  Since we're re-used
24 ; in other tests, we have to provide for non-v32 as well.
25  .if ..asm.arch.cris.v32
26  lapcq .,$r0
27  .else
28  move.d $pc,$r0
29  subq .-x,$r0
30  .endif
31
32  cmp.d x,$r0
33  bne y
34  nop
35  pass
36 y:
37  fail
38
39 ; Make sure we have enough contents for the mapping.
40  .data
41  .fill 4096,1,0