ats+.s
1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/************************************************************************
This RSP program implements the improved Algorithmic Test Sequence
(ATS) memory test procedure for DMEM with wired-OR or wired-AND RAM
construction.
************************************************************************/
#define G0_START 0x0FFC
#define G1_START 0x0FF4
#define G2_START 0x0FF8
.base 0x04001000
nor $31, $0, $0
ori $30, $0, 1
ori $1, $0, G1_START
Step1: sw $0, 0 ($1)
addi $1, $1, 0xFFF4
bgez $1, Step1
nop
ori $30, $0, 2
ori $1, $0, G2_START
Step2: sw $0, 0 ($1)
addi $1, $1, 0xFFF4
bgez $1, Step2
nop
ori $30, $0, 3
ori $1, $0, G0_START
Step3: sw $31, 0 ($1)
addi $1, $1, 0xFFF4
bgez $1, Step3
nop
ori $30, $0, 4
ori $1, $0, G1_START
Step4: lw $2, 0 ($1)
bne $2, $0, Fail
addi $1, $1, 0xFFF4
bgez $1, Step4
nop
ori $30, $0, 5
ori $1, $0, G1_START
Step5: sw $31, 0 ($1)
addi $1, $1, 0xFFF4
bgez $1, Step5
nop
ori $30, $0, 6
ori $1, $0, G2_START
Step6: lw $2, 0 ($1)
bne $2, $0, Fail
addi $1, $1, 0xFFF4
bgez $1, Step6
nop
ori $30, $0, 7
ori $1, $0, G2_START
Step7: sw $31, 0 ($1)
addi $1, $1, 0xFFF4
bgez $1, Step7
nop
ori $30, $0, 8
ori $1, $0, G0_START
Step8: lw $3, 0 ($1)
bne $3, $31, Fail
addi $1, $1, 0xFFF4
bgez $1, Step8
nop
ori $30, $0, 9
ori $1, $0, G0_START
Step9: sw $0, 0 ($1)
addi $1, $1, 0xFFF4
bgez $1, Step9
nop
ori $30, $0, 10
ori $1, $0, G1_START
Step10: lw $3, 0 ($1)
bne $3, $31, Fail
addi $1, $1, 0xFFF4
bgez $1, Step10
nop
ori $30, $0, 11
ori $1, $0, G1_START
Step11: sw $31, 0 ($1)
addi $1, $1, 0xFFF4
bgez $1, Step11
nop
ori $30, $0, 12
ori $1, $0, G2_START
Step12: lw $3, 0 ($1)
bne $3, $31, Fail
addi $1, $1, 0xFFF4
bgez $1, Step12
nop
ori $30, $0, 13
ori $1, $0, G0_START
Step13: lw $2, 0 ($1)
bne $2, $0, Fail
addi $1, $1, 0xFFF4
bgez $1, Step13
nop
ori $1, $0, 0xFEED
Fail: break