change some variable's type to op_err
[deliverable/binutils-gdb.git] / gas / testsuite / gas / m68hc11 / indexed12.s
1 ;;
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:
This page took 0.032433 seconds and 4 git commands to generate.