Commit | Line | Data |
---|---|---|
60bcf0fa NC |
1 | # Test for correct generation of 68HC11 insns. |
2 | ||
3 | .globl _start | |
4 | .sect .text | |
5 | ||
6 | _start: | |
7 | lds #stack+1024 | |
8 | ldx #1 | |
9 | Loop: | |
10 | jsr test | |
11 | dex | |
12 | bne Loop | |
13 | Stop: | |
14 | ||
15 | .byte 0xcd | |
16 | .byte 3 | |
17 | bra _start | |
18 | ||
19 | test: | |
20 | ldd #2 | |
21 | jsr test2 | |
22 | rts | |
23 | ||
24 | B_low = 12 | |
25 | A_low = 44 | |
26 | D_low = 50 | |
27 | value = 23 | |
28 | ||
29 | .globl test2 | |
30 | test2: | |
31 | ldx value,y | |
32 | std value,x | |
33 | ldd ,x | |
34 | sty ,y | |
35 | stx ,y | |
36 | brclr 6,x,#4,test2 | |
37 | brclr 12,x #8 test2 | |
38 | ldd *ZD1 | |
39 | ldx *ZD1+2 | |
40 | clr *ZD2 | |
41 | clr *ZD2+1 | |
42 | bne .-4 | |
43 | beq .+2 | |
44 | bclr *ZD1+1, #32 | |
45 | brclr *ZD2+2, #40, test2 | |
46 | ldy #24+_start-44 | |
47 | ldd B_low,y | |
48 | addd A_low,y | |
49 | addd D_low,y | |
50 | subd A_low | |
51 | subd #A_low | |
52 | jmp Stop | |
53 | L1: | |
54 | anda #%lo(test2) | |
55 | andb #%hi(test2) | |
ab53523a SC |
56 | ldab #%page(test2) ; Check that the relocs are against symbol |
57 | ldy #%addr(test2) ; otherwise linker relaxation fails | |
60bcf0fa NC |
58 | rts |
59 | ||
60 | .sect .data | |
61 | ||
49fa082d SC |
62 | .sect .bss |
63 | stack: | |
64 | .space 1024 | |
65 | stack_end: |