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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.61/] [tools/] [tbench/] [test_w11a_srcr_word_flow.tcl] - Blame information for rev 40

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 25 wfjm
# $Id: test_w11a_srcr_word_flow.tcl 575 2014-07-27 20:55:41Z mueller $
2 19 wfjm
#
3
# Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4
# License disclaimer see LICENSE_gpl_v2.txt in $RETROBASE directory
5
#
6
# Revision History:
7
# Date         Rev Version  Comment
8 25 wfjm
# 2014-07-27   575   1.0.2  drop tout value from asmwait, reply on asmwait_tout
9 22 wfjm
# 2014-03-01   552   1.0.1  check sp
10 19 wfjm
# 2013-03-31   502   1.0    Initial version
11
#
12
# Test srcr flow with mov ...,rx instructions for word access
13
#
14
 
15 22 wfjm
# ----------------------------------------------------------------------------
16 19 wfjm
rlc log "test_w11a_srcr_word_flow: test srcr flow for word with mov ...,rx"
17
rlc log "  r0 (mode=0)"
18 22 wfjm
 
19
# code register pre/post conditions beyond defaults
20
#   r0   01234   -> ..same
21
#   r1           -> 01234
22
#   r2           -> #stack
23
#   r3           -> #start
24 19 wfjm
$cpu ldasm -lst lst -sym sym {
25
        . = 1000
26
stack:
27
start:  mov     r0,r1
28
        mov     sp,r2
29
        mov     pc,r3
30
lpc:    halt
31
stop:
32
}
33
 
34 20 wfjm
rw11::asmrun  $cpu sym [list r0 01234]
35 25 wfjm
rw11::asmwait $cpu sym
36 20 wfjm
rw11::asmtreg $cpu [list r0 01234 \
37 19 wfjm
                          r1 01234 \
38
                          r2 $sym(stack) \
39
                          r3 $sym(lpc) \
40
                          r4 0 \
41 22 wfjm
                          r5 0 \
42
                          sp $sym(stack) ]
43 19 wfjm
 
44 22 wfjm
# ----------------------------------------------------------------------------
45 19 wfjm
rlc log "  (r0),(r0)+,-(r0) (mode=1,2,4)"
46 22 wfjm
 
47
# code register pre/post conditions beyond defaults
48
#   r0   #data   -> ..same
49
#   r1           -> 01001
50
#   r2           -> 01001
51
#   r3           -> 01002
52
#   r4           -> 01002
53
#   r5           -> 01001
54 19 wfjm
$cpu ldasm -lst lst -sym sym {
55
        . = 1000
56
start:  mov     (r0),r1
57
        mov     (r0)+,r2
58
        mov     (r0)+,r3
59
        mov     -(r0),r4
60
        mov     -(r0),r5
61
        halt
62
stop:
63 22 wfjm
;
64 19 wfjm
data:   .word   1001
65
        .word   1002
66
}
67
 
68 20 wfjm
rw11::asmrun  $cpu sym [list r0 $sym(data)]
69 25 wfjm
rw11::asmwait $cpu sym
70 20 wfjm
rw11::asmtreg $cpu [list r0 $sym(data) \
71
                         r1 001001 \
72
                         r2 001001 \
73
                         r3 001002 \
74
                         r4 001002 \
75 22 wfjm
                         r5 001001 ]
76 19 wfjm
 
77 22 wfjm
# ----------------------------------------------------------------------------
78 19 wfjm
rlc log "  @(r0)+,@-(r0)  (mode=3,5)"
79 22 wfjm
 
80
# code register pre/post conditions beyond defaults
81
#   r0   #pdata  -> ..same
82
#   r1           -> 02001
83
#   r2           -> 02002
84
#   r3           -> #pdata+4
85
#   r4           -> 02002
86
#   r5           -> 02001
87 19 wfjm
$cpu ldasm -lst lst -sym sym {
88
        . = 1000
89
start:  mov     @(r0)+,r1
90
        mov     @(r0)+,r2
91
        mov     r0,r3
92
        mov     @-(r0),r4
93
        mov     @-(r0),r5
94
        halt
95
stop:
96 22 wfjm
;
97 19 wfjm
pdata:  .word   data0
98
        .word   data1
99
data0:  .word   2001
100
        .word   0
101
data1:  .word   2002
102
}
103
 
104 20 wfjm
rw11::asmrun  $cpu sym [list r0 $sym(pdata)]
105 25 wfjm
rw11::asmwait $cpu sym
106 20 wfjm
rw11::asmtreg $cpu [list r0 $sym(pdata) \
107
                         r1 002001 \
108
                         r2 002002 \
109
                         r3 [expr {$sym(pdata)+4}] \
110
                         r4 002002 \
111 22 wfjm
                         r5 002001 ]
112 19 wfjm
 
113 22 wfjm
# ----------------------------------------------------------------------------
114 19 wfjm
rlc log "  nn(r0),@nn(r0)  (mode=6,7)"
115 22 wfjm
 
116
# code register pre/post conditions beyond defaults
117
#   r0   #data   -> ..same
118
#   r1           -> 03001
119
#   r2           -> 03002
120
#   r3           -> 03003
121
#   r4           -> 03004
122 19 wfjm
$cpu ldasm -lst lst -sym sym {
123
        . = 1000
124
start:  mov     2(r0),r1
125
        mov     @4(r0),r2
126
        mov     6(r0),r3
127
        mov     @10(r0),r4
128
        halt
129
stop:
130 22 wfjm
;
131 19 wfjm
data:   .word   177777
132
        .word   003001
133
        .word   data0
134
        .word   003003
135
        .word   data1
136
 
137
data0:  .word   003002
138
data1:  .word   003004
139
}
140
 
141 20 wfjm
rw11::asmrun  $cpu sym [list r0 $sym(data)]
142 25 wfjm
rw11::asmwait $cpu sym
143 20 wfjm
rw11::asmtreg $cpu [list r0 $sym(data) \
144
                         r1 003001 \
145
                         r2 003002 \
146
                         r3 003003 \
147
                         r4 003004 \
148 22 wfjm
                         r5 0 ]
149 19 wfjm
 
150 22 wfjm
# ----------------------------------------------------------------------------
151 19 wfjm
rlc log "  #nn,@#nn,var,@var  (mode=27,37,67,77)"
152 22 wfjm
 
153
# code register pre/post conditions beyond defaults
154
#   r1           -> 04001
155
#   r2           -> 04002
156
#   r3           -> 04003
157
#   r4           -> 04004
158 19 wfjm
$cpu ldasm -lst lst -sym sym {
159
        . = 1000
160
start:  mov     #004001,r1
161
        mov     @#data2,r2
162
        mov     data3,r3
163
        mov     @pdata4,r4
164
        halt
165
stop:
166 22 wfjm
;
167 19 wfjm
pdata4: .word   data4
168
 
169
data2:  .word   004002
170
data3:  .word   004003
171
data4:  .word   004004
172
}
173
 
174 20 wfjm
rw11::asmrun  $cpu sym {}
175 25 wfjm
rw11::asmwait $cpu sym
176 20 wfjm
rw11::asmtreg $cpu [list r0 0 \
177
                         r1 004001 \
178
                         r2 004002 \
179
                         r3 004003 \
180
                         r4 004004 \
181 22 wfjm
                         r5 0 ]

powered by: WebSVN 2.1.0

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