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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [m68hc11/] [opers12.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
#
3
# Try to verify all operand modes for 68HC12
4
#
5
        sect .text
6
        globl start
7
 
8
start:
9
        anda    [12,x]          ; Indexed indirect
10
        ldaa    #10
11
        ldx     L1
12
L1:     ldy     ,x
13
        addd    1,y             ; Offset from register
14
        subd    -1,y
15
        eora    15,y
16
        eora    -16,y
17
        eorb    16,y
18
        eorb    -17,y
19
        oraa    128,sp
20
        orab    -128,sp
21
        orab    255,x
22
        orab    -256,x
23
        anda    256,x
24
        andb    -257,x
25
        anda    [12,x]          ; Indexed indirect (16-bit offset)
26
        ldaa    [257,y]
27
        ldab    [32767,sp]
28
        ldd     [32768,pc]
29
        ldd     L1,pc
30
        std     a,x             ; Two-reg index
31
        ldx     b,x
32
        stx     d,y
33
        addd    1,+x            ; Pre-Auto inc
34
        addd    2,+x
35
        addd    8,+x
36
        addd    1,sp+           ; Post-Auto inc
37
        addd    2,sp+
38
        addd    8,sp+
39
        subd    1,-y            ; Pre-Auto dec
40
        subd    2,-y
41
        subd    8,-y
42
        addd    1,y-            ; Post-Auto dec
43
        addd    2,y-
44
        addd    8,y-
45
        std     [d,x]           ; Indexed indirect with two reg index
46
        std     [d,y]
47
        std     [d,sp]
48
        std     [d,pc]
49
        beq     L1
50
        lbeq    start
51
        lbcc    L2
52
;;
53
;; Move insn with various operands
54
;; 
55
        movb    start, 1,x
56
        movw    1,x, start
57
        movb    start, 1,+x
58
        movb    start, 1,-x
59
        movb    #23, 1,-sp
60
        movb    L1, L2
61
        movb    L1, a,x
62
        movw    L1, b,x
63
        movw    L1, d,x
64
        movw    d,x, a,x
65
        movw    b,sp, d,pc
66
        movw    b,sp, L1
67
        movw    b,sp, 1,x
68
        movw    d,x, a,y
69
        trap    #0x30
70
        trap    #0x39
71
        trap    #0x40
72
        trap    #0x80
73
        trap    #255
74
L2:
75
        movw 1,x,2,x
76
        movw -1,-1
77
        movw -1,1,x
78
        movw #-1,1,x
79
        movw 3,8
80
        movw #3,3
81
        movw #3,1,x
82
        movw 3,1,x
83
        movw 3,+2,x
84
        movw 4,-2,x
85
        rts
86
;;
87
;; Post-index byte with relocation
88
;; 
89
post_indexed_pb:
90
t1:
91
        leas    abort,x
92
t2:
93
        leax    t2-t1,y
94
        leax    toto,x
95
        leas    toto+titi,sp
96
        leay    titi,x
97
        leas    bb,y
98
        leas    min5b,pc
99
        leas    max5b,pc
100
        leas    min9b,pc
101
        leas    max9b,pc
102
 
103
;;
104
;; Disassembler bug with movb
105
;;
106
        movb    #23,0x2345
107
        movb    #40,12,sp
108
        movb    #39,3,+sp
109
        movb    #20,14,sp
110
        movw    #0x3210,0x3456
111
        movw    #0x4040,12,sp
112
        movw    #0x3900,3,+sp
113
        movw    #0x2000,14,sp
114
#       movb    #111,start
115
 
116
titi = 10
117
toto = 100
118
min5b= -16
119
max5b= 15
120
min9b= -256
121
max9b= 255
122
bb = 10240

powered by: WebSVN 2.1.0

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