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

Subversion Repositories t400

[/] [t400/] [trunk/] [sw/] [verif/] [black_box/] [xad/] [test.asm] - Blame information for rev 179

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 33 arniml
        ;; *******************************************************************
2 179 arniml
        ;; $Id: test.asm 179 2009-04-01 19:48:38Z arniml $
3 33 arniml
        ;;
4
        ;; Checks the XAD instruction.
5
        ;;
6
 
7
        ;; the cpu type is defined on asl's command line
8
 
9
        org     0x00
10
        clra
11
 
12
        ;; *******************************************************************
13
        ;; Dedicated test for XAD 3, 15
14
        ;;
15
        lbi     0, 9
16
        stii    0x02
17
        stii    0x03
18
 
19
        aisc    0x2
20
        xad     3, 15
21
        clra
22
        aisc    0x3
23
 
24
        xad     3, 15
25
        ;; expect 0x2
26
        lbi     0, 9
27
        ske
28
        jmp     fail
29
 
30
        xad     3, 15
31
        ;; expect 0x3
32
        lbi     0, 10
33
        ske
34
        jmp     fail
35
 
36
        IF      MOMCPUNAME = "COP410"
37
        jmp     pass
38
        ELSEIF
39
 
40
 
41
        ;; macro for checking XAD on a complete register
42
check   MACRO   register
43
        lbi     register, 0
44
        ld      0
45
        xad     register, 1
46
        xad     register, 2
47
        xad     register, 3
48
        xad     register, 4
49
        xad     register, 5
50
        xad     register, 6
51
        xad     register, 7
52
        xad     register, 8
53
        xad     register, 9
54
        xad     register, 10
55
        xad     register, 11
56
        xad     register, 12
57
        xad     register, 13
58
        xad     register, 14
59
        xad     register, 15
60
        xad     register, 0
61
 
62
        clra
63
        lbi     register, 1
64
        ske                     ; expect 0 in digit 1
65
        jmp     fail
66
        ;;
67
        aisc    0x1
68
        lbi     register, 2
69
        ske                     ; expect 1 in digit 2
70
        jmp     fail
71
        ;;
72
        aisc    0x1
73
        lbi     register, 3
74
        ske                     ; expect 2 in digit 3
75
        jmp     fail
76
        ;;
77
        aisc    0x1
78
        lbi     register, 4
79
        ske                     ; expect 3 in digit 4
80
        jmp     fail
81
        ;;
82
        aisc    0x1
83
        lbi     register, 5
84
        ske                     ; expect 4 in digit 5
85
        jmp     fail
86
        ;;
87
        aisc    0x1
88
        lbi     register, 6
89
        ske                     ; expect 5 in digit 6
90
        jmp     fail
91
        ;;
92
        aisc    0x1
93
        lbi     register, 7
94
        ske                     ; expect 6 in digit 7
95
        jmp     fail
96
        ;;
97
        aisc    0x1
98
        lbi     register, 8
99
        ske                     ; expect 7 in digit 8
100
        jmp     fail
101
        ;;
102
        aisc    0x1
103
        lbi     register, 9
104
        ske                     ; expect 8 in digit 9
105
        jmp     fail
106
        ;;
107
        aisc    0x1
108
        lbi     register, 10
109
        ske                     ; expect 9 in digit 10
110
        jmp     fail
111
        ;;
112
        aisc    0x1
113
        lbi     register, 11
114
        ske                     ; expect 10 in digit 11
115
        jmp     fail
116
        ;;
117
        aisc    0x1
118
        lbi     register, 12
119
        ske                     ; expect 11 in digit 12
120
        jmp     fail
121
        ;;
122
        aisc    0x1
123
        lbi     register, 13
124
        ske                     ; expect 12 in digit 13
125
        jmp     fail
126
        ;;
127
        aisc    0x1
128
        lbi     register, 14
129
        ske                     ; expect 13 in digit 14
130
        jmp     fail
131
        ;;
132
        aisc    0x1
133
        lbi     register, 15
134
        ske                     ; expect 14 in digit 15
135
        jmp     fail
136
        ;;
137
        aisc    0x1
138
        lbi     register, 0
139
        ske                     ; expect 15 in digit 0
140
        jmp     fail
141
        ENDM
142
 
143
 
144
 
145
        ;; prepare other registers
146
        ;; register 1
147
        lbi     1, 0
148
        jsr     clear_reg
149
        ;; register 2
150
        lbi     2, 0
151
        jsr     clear_reg
152
        ;; register 3
153
        lbi     3, 0
154
        jsr     clear_reg
155
 
156
 
157
        ;; *******************************************************************
158
        ;; Test XAD on register 0
159
        ;;
160
        lbi     0, 0
161
        jsr     init_reg
162
        ;;
163
        check   0
164
 
165
 
166
        ;; *******************************************************************
167
        ;; Test XAD on register 1
168
        ;;
169
        lbi     0, 0
170
        jsr     clear_reg
171
        lbi     1, 0
172
        jsr     init_reg
173
        ;;
174
        check   1
175
 
176
 
177
        ;; *******************************************************************
178
        ;; Test XAD on register 2
179
        ;;
180
        lbi     1, 0
181
        jsr     clear_reg
182
        lbi     2, 0
183
        jsr     init_reg
184
        ;;
185
        check   2
186
 
187
 
188
        ;; *******************************************************************
189
        ;; Test XAD on register 3
190
        ;;
191
        lbi     2, 0
192
        jsr     clear_reg
193
        lbi     3, 0
194
        jsr     init_reg
195
        ;;
196
        check   3
197
 
198
 
199
        jmp     pass
200
 
201
 
202
        ;;
203
        ;; initialize current register with proper values
204
        ;;
205
init_reg:
206
        clra
207
        cab
208
        stii    0x0
209
        stii    0x1
210
        stii    0x2
211
        stii    0x3
212
        stii    0x4
213
        stii    0x5
214
        stii    0x6
215
        stii    0x7
216
        stii    0x8
217
        stii    0x9
218
        stii    0xa
219
        stii    0xb
220
        stii    0xc
221
        stii    0xd
222
        stii    0xe
223
        stii    0xf
224
        ret
225
 
226
        ;;
227
        ;; clear current register
228
        ;;
229
clear_reg:
230
        clra
231
        cab
232
        stii    0x0
233
        stii    0x0
234
        stii    0x0
235
        stii    0x0
236
        stii    0x0
237
        stii    0x0
238
        stii    0x0
239
        stii    0x0
240
        stii    0x0
241
        stii    0x0
242
        stii    0x0
243
        stii    0x0
244
        stii    0x0
245
        stii    0x0
246
        stii    0x0
247
        stii    0x0
248
        ret
249
 
250
        ENDIF
251
 
252
 
253
 
254
        include "pass_fail.asm"

powered by: WebSVN 2.1.0

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