~ubuntu-branches/ubuntu/hoary/binutils/hoary

« back to all changes in this revision

Viewing changes to ld/testsuite/ld-m68hc11/relax-direct.s

  • Committer: Bazaar Package Importer
  • Author(s): James Troup
  • Date: 2004-05-19 10:35:44 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040519103544-17h3o6e8pwndydrg
Tags: 2.14.90.0.7-8
debian/rules: don't use gcc-2.95 on m68k.  Thanks to Adam Conrad for
pointing this out.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
;;; Test 68HC11 linker relaxation from extended addressing to direct
 
2
;;; addressing modes
 
3
;;; 
 
4
        .sect .text
 
5
        .globl _start
 
6
_start:
 
7
start:  
 
8
        lds     stack
 
9
        ldd     _bar
 
10
        beq     F1
 
11
        beq     F2
 
12
        std     _bar
 
13
        jsr     _bar
 
14
F1:
 
15
        addd    _toto
 
16
        bne     start
 
17
        ;; All the following instructions will be relaxed and win 1 byte
 
18
        ;; for each.
 
19
        addd    _toto+200
 
20
        addd    stack+256-20
 
21
        adca    _table+2
 
22
        adcb    _table+3
 
23
        adda    _table+4
 
24
        addb    _table+5
 
25
        addd    _table+6
 
26
        anda    _table+7
 
27
        andb    _table+8
 
28
        cmpa    _table+9
 
29
        cmpb    _table+10
 
30
        cpd     _table+11
 
31
        cpx     _table+12
 
32
        cpy     _table+13
 
33
        eora    _table+14
 
34
        eorb    _table+15
 
35
        jsr     _table+16
 
36
        ldaa    _table+17
 
37
        ldab    _table+18
 
38
        ldd     _table+19
 
39
        lds     _table+20
 
40
        ldx     _table+21
 
41
        ldy     _table+22
 
42
        oraa    _table+23
 
43
        orab    _table+24
 
44
        sbcb    _table+25
 
45
        sbca    _table+26
 
46
        staa    _table+27
 
47
        stab    _table+28
 
48
        std     _table+29
 
49
        sts     _table+30
 
50
        stx     _table+31
 
51
        sty     _table+32
 
52
        suba    _table+33
 
53
        subb    _table+34
 
54
        subd    _table+35
 
55
        ;; 'bne' is assembled as far branch and must relax to 
 
56
        ;; a relative 8-bit branch.
 
57
        bne     _start
 
58
        ;; Likewise for next branch
 
59
        bra     F1
 
60
        rts
 
61
 
 
62
;;; The following instructions will not be relaxed
 
63
no_relax:
 
64
        addd    _stack_top+60
 
65
        std     _stack_top+40
 
66
        ;; 'tst' does not support direct addressing mode.
 
67
        tst     _toto+1
 
68
        bne     no_relax
 
69
        .skip   200
 
70
F2:
 
71
        bra     _start
 
72
 
 
73
        .sect   .page0
 
74
_bar:
 
75
        .long   0
 
76
_toto:
 
77
        .long   0
 
78
        .skip   32
 
79
stack:
 
80
        .skip   10
 
81
_table:
 
82
        .skip   200
 
83
_stack_top:
 
84