OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [m68hc11/] [indexed12.s] - Blame information for rev 856

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
;;
2
;; This file verifies the 68HC12 indexed addressing modes
3
;; with a 5, 9 and 16-bit offset.
4
;;
5
        .sect .text
6
        .globl _main
7
_main:
8
        nop
9
;;; Global check (1st)
10
        ldab    L1-_main,x      ; Offset/const of these 2 insns must be
11
        ldaa    #L1-_main       ; identical (likewise for 2nd global check)
12
;;; Test gas relax with difference of symbols (same section)
13
        ldaa    L2-L1,x         ; -> ldaa 2,x (5-bit offset), text seg
14
        adda    L1-L2,y         ; -> adda -2,y (5-bit offset), text seg
15
 
16
        orab    L7-L6,sp        ; -> orab 8,sp  (5-bit offset), text seg
17
        anda    L8-L7,sp        ; -> anda 15,sp (5-bit offset), text seg
18
        eora    L7-L8,sp        ; -> eora -15,sp (5-bit offset), text seg
19
        eorb    L7-L9,sp        ; -> eorb -16,sp (5-bit offset), text seg
20
 
21
        andb    L9-L7,sp        ; -> andb 16,sp (9-bit offset), text seg
22
        staa    L7-L10,x        ; -> staa -17,x (9-bit offset), text seg
23
        stab    L11-L10,y       ; -> stab 128,y (9-bit offset), text seg
24
        stab    L10-L11,y       ; -> stab -128,y (9-bit offset), text seg
25
        stab    L11-L10+1,y     ; -> stab 129,y (9-bit offset), text seg
26
        stab    L10-L11-1,y     ; -> stab -129,y (9-bit offset), text seg
27
        stab    L11-1-L10,y     ; -> stab 127,y (9-bit offset), text seg
28
        stab    L10-1-L11,y     ; -> stab -129,y (9-bit offset), text seg
29
 
30
        tst     L12-L10,x       ; -> tst 255,x (9-bit offset), text seg
31
        tst     L10-L12,x       ; -> tst -255,x (9-bit offset), text seg
32
        tst     L12-L10+1,x     ; -> tst 256,x (16-bit offset), text seg
33
        mina    L13-L10,x       ; -> mina 256,x (16-bit offset)
34
        mina    L10-L13,x       ; -> mina -256,x (9-bit offset)
35
 
36
        maxa    L14-L10,x       ; -> maxa 257,x (16-bit offset)
37
        maxa    L10-L14,x       ; -> maxa -257,x (16-bit offset)
38
 
39
;;; Test gas relax with difference of symbols (different section)
40
        ldaa    D2-D1,x         ; -> ldaa 2,x (5-bit offset), data seg
41
        adda    D1-D2,y         ; -> adda -2,y (5-bit offset), data seg
42
 
43
        orab    D7-D6,sp        ; -> orab 8,sp  (5-bit offset), data seg
44
        anda    D8-D7,sp        ; -> anda 15,sp (5-bit offset), data seg
45
        eora    D7-D8,sp        ; -> eora -15,sp (5-bit offset), data seg
46
        eorb    D7-D9,sp        ; -> eorb -16,sp (5-bit offset), data seg
47
 
48
        andb    D9-D7,sp        ; -> andb 16,sp (9-bit offset), data seg
49
        staa    D7-D10,x        ; -> staa -17,x (9-bit offset), data seg
50
        stab    D11-D10,y       ; -> stab 128,y (9-bit offset), data seg
51
        stab    D10-D11,y       ; -> stab -128,y (9-bit offset), data seg
52
        stab    D11-D10+1,y     ; -> stab 129,y (9-bit offset), data seg
53
        stab    D10-D11+1,y     ; -> stab -127,y (9-bit offset), data seg
54
        stab    D11-1-D10,y     ; -> stab 127,y (9-bit offset), data seg
55
        stab    D10-1-D11,y     ; -> stab -129,y (9-bit offset), data seg
56
 
57
        tst     D12-D10,x       ; -> tst 255,x (9-bit offset), data seg
58
        tst     D10-D12,x       ; -> tst -255,x (9-bit offset), data seg
59
        tst     D12-D10+1,x     ; -> tst 256,x (16-bit offset), data seg
60
        mina    D13-D10,x       ; -> mina 256,x (16-bit offset)
61
        mina    D10-D13,x       ; -> mina -256,x (9-bit offset)
62
 
63
        maxa    D14-D10,x       ; -> maxa 257,x (16-bit offset)
64
        maxa    D10-D14,x       ; -> maxa -257,x (16-bit offset)
65
 
66
;;; Global check (2nd)
67
        ldab    L1-_main,x
68
        ldaa    #L1-_main
69
 
70
;;; Indexed addressing with external symbol
71
        ldab    _external+128,x
72
        bra     L2
73
L1:
74
        .dc.w   0xaabb
75
L2:
76
L6:
77
        .ds.b   8, 0xa7
78
L7:
79
        .ds.b   15, 0xa7
80
L8:
81
        nop
82
L9:
83
        nop
84
L10:
85
        .skip   128
86
L11:
87
        .skip   127
88
L12:
89
        nop
90
L13:
91
        nop
92
L14:
93
        rts
94
 
95
        .sect .data
96
D1:
97
        .dc.w   0xaabb
98
D2:
99
D6:
100
        .ds.b   8, 0xa7
101
D7:
102
        .ds.b   15, 0xa7
103
D8:
104
        nop
105
D9:
106
        nop
107
D10:
108
        .skip   128
109
D11:
110
        .skip   127
111
D12:
112
        nop
113
D13:
114
        nop
115
D14:

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.