Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / h8300 / t01_mov.exp
1 #
2 # Some h8300sx tests -- t01_mov
3 #
4
5 proc do_t01_mov_test {} {
6     set testname "t01_mov.s -- h8sx tests"
7
8     gas_start "t01_mov.s" "-al"
9
10     # Check each instruction bit pattern to verify it got assembled correctly.
11
12     set x 0
13     expect {
14         -re ".*   7 0000 F312" { set x [expr $x+1]; exp_continue; }
15         -re ".*   8 0002 017D0312" { set x [expr $x+1]; exp_continue; }
16         -re ".*   9 0006 017D1312" { set x [expr $x+1]; exp_continue; }
17         -re ".*  10 000a 017DB312" { set x [expr $x+1]; exp_continue; }
18         -re ".*  11 000e 017D8312" { set x [expr $x+1]; exp_continue; }
19         -re ".*  12 0012 017DA312" { set x [expr $x+1]; exp_continue; }
20         -re ".*  13 0016 017D9312" { set x [expr $x+1]; exp_continue; }
21         -re ".*  14 001a 017DC312" { set x [expr $x+1]; exp_continue; }
22         -re ".*  14      1234" { set x [expr $x+1]; exp_continue; }
23         -re ".*  15 0020 017DCB12" { set x [expr $x+1]; exp_continue; }
24         -re ".*  15      12345678" { set x [expr $x+1]; exp_continue; }
25         -re ".*  16 0028 017DD312" { set x [expr $x+1]; exp_continue; }
26         -re ".*  16      1234" { set x [expr $x+1]; exp_continue; }
27         -re ".*  17 002e 017DE312" { set x [expr $x+1]; exp_continue; }
28         -re ".*  17      1234" { set x [expr $x+1]; exp_continue; }
29         -re ".*  18 0034 017DF312" { set x [expr $x+1]; exp_continue; }
30         -re ".*  18      1234" { set x [expr $x+1]; exp_continue; }
31         -re ".*  19 003a 017DDB12" { set x [expr $x+1]; exp_continue; }
32         -re ".*  19      12345678" { set x [expr $x+1]; exp_continue; }
33         -re ".*  20 0042 017DEB12" { set x [expr $x+1]; exp_continue; }
34         -re ".*  20      12345678" { set x [expr $x+1]; exp_continue; }
35         -re ".*  21 004a 017DFB12" { set x [expr $x+1]; exp_continue; }
36         -re ".*  21      12345678" { set x [expr $x+1]; exp_continue; }
37         -re ".*  22 0052 017D4012" { set x [expr $x+1]; exp_continue; }
38         -re ".*  22      1234" { set x [expr $x+1]; exp_continue; }
39         -re ".*  23 0058 017D4812" { set x [expr $x+1]; exp_continue; }
40         -re ".*  23      12345678" { set x [expr $x+1]; exp_continue; }
41         -re ".*  24              " {
42             if [expr $x == 27] then {
43                 pass "$testname: mov.b #0x12:8, ..."
44             } else {
45                 fail "$testname: mov.b #0x12:8, ... ($x)"
46             }
47         }
48         default { fail "$testname: mov.b #0x12:8, ... ($x)" }
49     }
50
51     set x 0
52     expect {
53         -re ".*  25 0060 6AD11234" { set x [expr $x+1]; exp_continue; }
54         -re ".*  26 0064 6AF11234" { set x [expr $x+1]; exp_continue; }
55         -re ".*  26      5678" { set x [expr $x+1]; exp_continue; }
56         -re ".*  27              " {
57             if [expr $x == 3] then {
58                 pass "$testname: mov.b #0x1:4, ..."
59             } else {
60                 fail "$testname: mov.b #0x1:4, ... ($x)"
61             }
62         }
63         default { fail "$testname: mov.b #0x1:4, ... ($x)" }
64     }
65
66     set x 0
67     expect {
68         -re ".*  28 006a 0C31" { set x [expr $x+1]; exp_continue; }
69         -re ".*  29              " {
70             if [expr $x == 1] then {
71                 pass "$testname: mov.b r3h, r1h"
72             } else {
73                 fail "$testname: mov.b r3h, r1h ($x)"
74             }
75         }
76         default { fail "$testname: mov.b r3h, r1h ($x)" }
77     }
78
79     set x 0
80     expect {
81         -re ".*  30 006c 6893" { set x [expr $x+1]; exp_continue; }
82         -re ".*  31 006e 01716893" { set x [expr $x+1]; exp_continue; }
83         -re ".*  32 0072 6C93" { set x [expr $x+1]; exp_continue; }
84         -re ".*  33 0074 01736C93" { set x [expr $x+1]; exp_continue; }
85         -re ".*  34 0078 01716C93" { set x [expr $x+1]; exp_continue; }
86         -re ".*  35 007c 01726C93" { set x [expr $x+1]; exp_continue; }
87         -re ".*  36 0080 6E931234" { set x [expr $x+1]; exp_continue; }
88         -re ".*  37 0084 78106AA3" { set x [expr $x+1]; exp_continue; }
89         -re ".*  37      12345678" { set x [expr $x+1]; exp_continue; }
90         -re ".*  38 008c 01716E93" { set x [expr $x+1]; exp_continue; }
91         -re ".*  38      1234" { set x [expr $x+1]; exp_continue; }
92         -re ".*  39 0092 01726E93" { set x [expr $x+1]; exp_continue; }
93         -re ".*  39      1234" { set x [expr $x+1]; exp_continue; }
94         -re ".*  40 0098 01736E93" { set x [expr $x+1]; exp_continue; }
95         -re ".*  40      1234" { set x [expr $x+1]; exp_continue; }
96         -re ".*  41 009e 78116AA3" { set x [expr $x+1]; exp_continue; }
97         -re ".*  41      12345678" { set x [expr $x+1]; exp_continue; }
98         -re ".*  42 00a6 78126AA3" { set x [expr $x+1]; exp_continue; }
99         -re ".*  42      12345678" { set x [expr $x+1]; exp_continue; }
100         -re ".*  43 00ae 78136AA3" { set x [expr $x+1]; exp_continue; }
101         -re ".*  43      12345678" { set x [expr $x+1]; exp_continue; }
102         -re ".*  44 00b6 3312" { set x [expr $x+1]; exp_continue; }
103         -re ".*  45 00b8 6A831234" { set x [expr $x+1]; exp_continue; }
104         -re ".*  46 00bc 6AA31234" { set x [expr $x+1]; exp_continue; }
105         -re ".*  46      5678" { set x [expr $x+1]; exp_continue; }
106         -re ".*  47              " {
107             if [expr $x == 25] then {
108                 pass "$testname: mov.b r3h, ..."
109             } else {
110                 fail "$testname: mov.b r3h, ... ($x)"
111             }
112         }
113         default { fail "$testname: mov.b r3h, ... ($x)" }
114     }
115
116     set x 0
117     expect {
118         -re ".*  48 00c2 6831" { set x [expr $x+1]; exp_continue; }
119         -re ".*  49 00c4 01716831" { set x [expr $x+1]; exp_continue; }
120         -re ".*  50 00c8 6C31" { set x [expr $x+1]; exp_continue; }
121         -re ".*  51 00ca 01736C31" { set x [expr $x+1]; exp_continue; }
122         -re ".*  52 00ce 01716C31" { set x [expr $x+1]; exp_continue; }
123         -re ".*  53 00d2 01726C31" { set x [expr $x+1]; exp_continue; }
124         -re ".*  54 00d6 6E311234" { set x [expr $x+1]; exp_continue; }
125         -re ".*  55 00da 78306A21" { set x [expr $x+1]; exp_continue; }
126         -re ".*  55      12345678" { set x [expr $x+1]; exp_continue; }
127         -re ".*  56 00e2 01716E31" { set x [expr $x+1]; exp_continue; }
128         -re ".*  56      1234" { set x [expr $x+1]; exp_continue; }
129         -re ".*  57 00e8 01726E31" { set x [expr $x+1]; exp_continue; }
130         -re ".*  57      1234" { set x [expr $x+1]; exp_continue; }
131         -re ".*  58 00ee 01736E31" { set x [expr $x+1]; exp_continue; }
132         -re ".*  58      1234" { set x [expr $x+1]; exp_continue; }
133         -re ".*  59 00f4 78316A21" { set x [expr $x+1]; exp_continue; }
134         -re ".*  59      12345678" { set x [expr $x+1]; exp_continue; }
135         -re ".*  60 00fc 78326A21" { set x [expr $x+1]; exp_continue; }
136         -re ".*  60      12345678" { set x [expr $x+1]; exp_continue; }
137         -re ".*  61 0104 78336A21" { set x [expr $x+1]; exp_continue; }
138         -re ".*  61      12345678" { set x [expr $x+1]; exp_continue; }
139         -re ".*  62 010c 2312" { set x [expr $x+1]; exp_continue; }
140         -re ".*  63 010e 6A031234" { set x [expr $x+1]; exp_continue; }
141         -re ".*  64 0112 6A231234" { set x [expr $x+1]; exp_continue; }
142         -re ".*  64      5678" { set x [expr $x+1]; exp_continue; }
143         -re ".*  65              " {
144             if [expr $x == 25] then {
145                 pass "$testname: mov.b ..., r3h"
146             } else {
147                 fail "$testname: mov.b ..., r3h ($x)"
148             }
149         }
150         default { fail "$testname: mov.b ..., r3h ($x)" }
151     }
152
153     set x 0
154     expect {
155         -re ".*  66 0118 01780301" { set x [expr $x+1]; exp_continue; }
156         -re ".*  67 011c 01780311" { set x [expr $x+1]; exp_continue; }
157         -re ".*  68 0120 01780381" { set x [expr $x+1]; exp_continue; }
158         -re ".*  69 0124 017803B1" { set x [expr $x+1]; exp_continue; }
159         -re ".*  70 0128 01780391" { set x [expr $x+1]; exp_continue; }
160         -re ".*  71 012c 017803A1" { set x [expr $x+1]; exp_continue; }
161         -re ".*  72 0130 017803C1" { set x [expr $x+1]; exp_continue; }
162         -re ".*  72      1234" { set x [expr $x+1]; exp_continue; }
163         -re ".*  73 0136 017803C9" { set x [expr $x+1]; exp_continue; }
164         -re ".*  73      12345678" { set x [expr $x+1]; exp_continue; }
165         -re ".*  74 013e 017803D1" { set x [expr $x+1]; exp_continue; }
166         -re ".*  74      1234" { set x [expr $x+1]; exp_continue; }
167         -re ".*  75 0144 017803E1" { set x [expr $x+1]; exp_continue; }
168         -re ".*  75      1234" { set x [expr $x+1]; exp_continue; }
169         -re ".*  76 014a 017803F1" { set x [expr $x+1]; exp_continue; }
170         -re ".*  76      1234" { set x [expr $x+1]; exp_continue; }
171         -re ".*  77 0150 017803D9" { set x [expr $x+1]; exp_continue; }
172         -re ".*  77      12345678" { set x [expr $x+1]; exp_continue; }
173         -re ".*  78 0158 017803E9" { set x [expr $x+1]; exp_continue; }
174         -re ".*  78      12345678" { set x [expr $x+1]; exp_continue; }
175         -re ".*  79 0160 017803F9" { set x [expr $x+1]; exp_continue; }
176         -re ".*  79      12345678" { set x [expr $x+1]; exp_continue; }
177         -re ".*  80 0168 01780340" { set x [expr $x+1]; exp_continue; }
178         -re ".*  80      1234" { set x [expr $x+1]; exp_continue; }
179         -re ".*  81 016e 01780348" { set x [expr $x+1]; exp_continue; }
180         -re ".*  81      12345678" { set x [expr $x+1]; exp_continue; }
181         -re ".*  82              " {
182             if [expr $x == 26] then {
183                 pass "$testname: mov.b @er3, ..."
184             } else {
185                 fail "$testname: mov.b @er3, ... ($x)"
186             }
187         }
188         default { fail "$testname: mov.b @er3, ... ($x)" }
189     }
190
191     set x 0
192     expect {
193         -re ".*  83 0176 01781301" { set x [expr $x+1]; exp_continue; }
194         -re ".*  84 017a 01781311" { set x [expr $x+1]; exp_continue; }
195         -re ".*  85 017e 01781381" { set x [expr $x+1]; exp_continue; }
196         -re ".*  86 0182 017813B1" { set x [expr $x+1]; exp_continue; }
197         -re ".*  87 0186 01781391" { set x [expr $x+1]; exp_continue; }
198         -re ".*  88 018a 017813A1" { set x [expr $x+1]; exp_continue; }
199         -re ".*  89 018e 017813C1" { set x [expr $x+1]; exp_continue; }
200         -re ".*  89      1234" { set x [expr $x+1]; exp_continue; }
201         -re ".*  90 0194 017813C9" { set x [expr $x+1]; exp_continue; }
202         -re ".*  90      12345678" { set x [expr $x+1]; exp_continue; }
203         -re ".*  91 019c 017813D1" { set x [expr $x+1]; exp_continue; }
204         -re ".*  91      1234" { set x [expr $x+1]; exp_continue; }
205         -re ".*  92 01a2 017813E1" { set x [expr $x+1]; exp_continue; }
206         -re ".*  92      1234" { set x [expr $x+1]; exp_continue; }
207         -re ".*  93 01a8 017813F1" { set x [expr $x+1]; exp_continue; }
208         -re ".*  93      1234" { set x [expr $x+1]; exp_continue; }
209         -re ".*  94 01ae 017813D9" { set x [expr $x+1]; exp_continue; }
210         -re ".*  94      12345678" { set x [expr $x+1]; exp_continue; }
211         -re ".*  95 01b6 017813E9" { set x [expr $x+1]; exp_continue; }
212         -re ".*  95      12345678" { set x [expr $x+1]; exp_continue; }
213         -re ".*  96 01be 017813F9" { set x [expr $x+1]; exp_continue; }
214         -re ".*  96      12345678" { set x [expr $x+1]; exp_continue; }
215         -re ".*  97 01c6 01781340" { set x [expr $x+1]; exp_continue; }
216         -re ".*  97      1234" { set x [expr $x+1]; exp_continue; }
217         -re ".*  98 01cc 01781348" { set x [expr $x+1]; exp_continue; }
218         -re ".*  98      12345678" { set x [expr $x+1]; exp_continue; }
219         -re ".*  99              " {
220             if [expr $x == 26] then {
221                 pass "$testname: mov.b @(0x1:2,er3), ..."
222             } else {
223                 fail "$testname: mov.b @(0x1:2,er3), ... ($x)"
224             }
225         }
226         default { fail "$testname: mov.b @(0x1:2,er3), ... ($x)" }
227     }
228
229     set x 0
230     expect {
231         -re ".* 100 01d4 0178B301" { set x [expr $x+1]; exp_continue; }
232         -re ".* 101 01d8 0178B311" { set x [expr $x+1]; exp_continue; }
233         -re ".* 102 01dc 0178B381" { set x [expr $x+1]; exp_continue; }
234         -re ".* 103 01e0 0178B3B1" { set x [expr $x+1]; exp_continue; }
235         -re ".* 104 01e4 0178B391" { set x [expr $x+1]; exp_continue; }
236         -re ".* 105 01e8 0178B3A1" { set x [expr $x+1]; exp_continue; }
237         -re ".* 106 01ec 0178B3C1" { set x [expr $x+1]; exp_continue; }
238         -re ".* 106      1234" { set x [expr $x+1]; exp_continue; }
239         -re ".* 107 01f2 0178B3C9" { set x [expr $x+1]; exp_continue; }
240         -re ".* 107      12345678" { set x [expr $x+1]; exp_continue; }
241         -re ".* 108 01fa 0178B3D1" { set x [expr $x+1]; exp_continue; }
242         -re ".* 108      1234" { set x [expr $x+1]; exp_continue; }
243         -re ".* 109 0200 0178B3E1" { set x [expr $x+1]; exp_continue; }
244         -re ".* 109      1234" { set x [expr $x+1]; exp_continue; }
245         -re ".* 110 0206 0178B3F1" { set x [expr $x+1]; exp_continue; }
246         -re ".* 110      1234" { set x [expr $x+1]; exp_continue; }
247         -re ".* 111 020c 0178B3D9" { set x [expr $x+1]; exp_continue; }
248         -re ".* 111      12345678" { set x [expr $x+1]; exp_continue; }
249         -re ".* 112 0214 0178B3E9" { set x [expr $x+1]; exp_continue; }
250         -re ".* 112      12345678" { set x [expr $x+1]; exp_continue; }
251         -re ".* 113 021c 0178B3F9" { set x [expr $x+1]; exp_continue; }
252         -re ".* 113      12345678" { set x [expr $x+1]; exp_continue; }
253         -re ".* 114 0224 0178B340" { set x [expr $x+1]; exp_continue; }
254         -re ".* 114      1234" { set x [expr $x+1]; exp_continue; }
255         -re ".* 115 022a 0178B348" { set x [expr $x+1]; exp_continue; }
256         -re ".* 115      12345678" { set x [expr $x+1]; exp_continue; }
257         -re ".* 116              " {
258             if [expr $x == 26] then {
259                 pass "$testname: mov.b @-er3, ..."
260             } else {
261                 fail "$testname: mov.b @-er3, ... ($x)"
262             }
263         }
264         default { fail "$testname: mov.b @-er3, ... ($x)" }
265     }
266
267     set x 0
268     expect {
269         -re ".* 117 0232 01788301" { set x [expr $x+1]; exp_continue; }
270         -re ".* 118 0236 01788311" { set x [expr $x+1]; exp_continue; }
271         -re ".* 119 023a 01788381" { set x [expr $x+1]; exp_continue; }
272         -re ".* 120 023e 017883B1" { set x [expr $x+1]; exp_continue; }
273         -re ".* 121 0242 01788391" { set x [expr $x+1]; exp_continue; }
274         -re ".* 122 0246 017883A1" { set x [expr $x+1]; exp_continue; }
275         -re ".* 123 024a 017883C1" { set x [expr $x+1]; exp_continue; }
276         -re ".* 123      1234" { set x [expr $x+1]; exp_continue; }
277         -re ".* 124 0250 017883C9" { set x [expr $x+1]; exp_continue; }
278         -re ".* 124      12345678" { set x [expr $x+1]; exp_continue; }
279         -re ".* 125 0258 017883D1" { set x [expr $x+1]; exp_continue; }
280         -re ".* 125      1234" { set x [expr $x+1]; exp_continue; }
281         -re ".* 126 025e 017883E1" { set x [expr $x+1]; exp_continue; }
282         -re ".* 126      1234" { set x [expr $x+1]; exp_continue; }
283         -re ".* 127 0264 017883F1" { set x [expr $x+1]; exp_continue; }
284         -re ".* 127      1234" { set x [expr $x+1]; exp_continue; }
285         -re ".* 128 026a 017883D9" { set x [expr $x+1]; exp_continue; }
286         -re ".* 128      12345678" { set x [expr $x+1]; exp_continue; }
287         -re ".* 129 0272 017883E9" { set x [expr $x+1]; exp_continue; }
288         -re ".* 129      12345678" { set x [expr $x+1]; exp_continue; }
289         -re ".* 130 027a 017883F9" { set x [expr $x+1]; exp_continue; }
290         -re ".* 130      12345678" { set x [expr $x+1]; exp_continue; }
291         -re ".* 131 0282 01788340" { set x [expr $x+1]; exp_continue; }
292         -re ".* 131      1234" { set x [expr $x+1]; exp_continue; }
293         -re ".* 132 0288 01788348" { set x [expr $x+1]; exp_continue; }
294         -re ".* 132      12345678" { set x [expr $x+1]; exp_continue; }
295         -re ".* 133              " {
296             if [expr $x == 26] then {
297                 pass "$testname: mov.b @er3+, ..."
298             } else {
299                 fail "$testname: mov.b @er3+, ... ($x)"
300             }
301         }
302         default { fail "$testname: mov.b @er3+, ... ($x)" }
303     }
304
305     set x 0
306     expect {
307         -re ".* 134 0290 0178A301" { set x [expr $x+1]; exp_continue; }
308         -re ".* 135 0294 0178A311" { set x [expr $x+1]; exp_continue; }
309         -re ".* 136 0298 0178A381" { set x [expr $x+1]; exp_continue; }
310         -re ".* 137 029c 0178A3B1" { set x [expr $x+1]; exp_continue; }
311         -re ".* 138 02a0 0178A391" { set x [expr $x+1]; exp_continue; }
312         -re ".* 139 02a4 0178A3A1" { set x [expr $x+1]; exp_continue; }
313         -re ".* 140 02a8 0178A3C1" { set x [expr $x+1]; exp_continue; }
314         -re ".* 140      1234" { set x [expr $x+1]; exp_continue; }
315         -re ".* 141 02ae 0178A3C9" { set x [expr $x+1]; exp_continue; }
316         -re ".* 141      12345678" { set x [expr $x+1]; exp_continue; }
317         -re ".* 142 02b6 0178A3D1" { set x [expr $x+1]; exp_continue; }
318         -re ".* 142      1234" { set x [expr $x+1]; exp_continue; }
319         -re ".* 143 02bc 0178A3E1" { set x [expr $x+1]; exp_continue; }
320         -re ".* 143      1234" { set x [expr $x+1]; exp_continue; }
321         -re ".* 144 02c2 0178A3F1" { set x [expr $x+1]; exp_continue; }
322         -re ".* 144      1234" { set x [expr $x+1]; exp_continue; }
323         -re ".* 145 02c8 0178A3D9" { set x [expr $x+1]; exp_continue; }
324         -re ".* 145      12345678" { set x [expr $x+1]; exp_continue; }
325         -re ".* 146 02d0 0178A3E9" { set x [expr $x+1]; exp_continue; }
326         -re ".* 146      12345678" { set x [expr $x+1]; exp_continue; }
327         -re ".* 147 02d8 0178A3F9" { set x [expr $x+1]; exp_continue; }
328         -re ".* 147      12345678" { set x [expr $x+1]; exp_continue; }
329         -re ".* 148 02e0 0178A340" { set x [expr $x+1]; exp_continue; }
330         -re ".* 148      1234" { set x [expr $x+1]; exp_continue; }
331         -re ".* 149 02e6 0178A348" { set x [expr $x+1]; exp_continue; }
332         -re ".* 149      12345678" { set x [expr $x+1]; exp_continue; }
333         -re ".* 150              " {
334             if [expr $x == 26] then {
335                 pass "$testname: mov.b @er3-, ..."
336             } else {
337                 fail "$testname: mov.b @er3-, ... ($x)"
338             }
339         }
340         default { fail "$testname: mov.b @er3-, ... ($x)" }
341     }
342
343     set x 0
344     expect {
345         -re ".* 151 02ee 01789301" { set x [expr $x+1]; exp_continue; }
346         -re ".* 152 02f2 01789311" { set x [expr $x+1]; exp_continue; }
347         -re ".* 153 02f6 01789381" { set x [expr $x+1]; exp_continue; }
348         -re ".* 154 02fa 017893B1" { set x [expr $x+1]; exp_continue; }
349         -re ".* 155 02fe 01789391" { set x [expr $x+1]; exp_continue; }
350         -re ".* 156 0302 017893A1" { set x [expr $x+1]; exp_continue; }
351         -re ".* 157 0306 017893C1" { set x [expr $x+1]; exp_continue; }
352         -re ".* 157      1234" { set x [expr $x+1]; exp_continue; }
353         -re ".* 158 030c 017893C9" { set x [expr $x+1]; exp_continue; }
354         -re ".* 158      12345678" { set x [expr $x+1]; exp_continue; }
355         -re ".* 159 0314 017893D1" { set x [expr $x+1]; exp_continue; }
356         -re ".* 159      1234" { set x [expr $x+1]; exp_continue; }
357         -re ".* 160 031a 017893E1" { set x [expr $x+1]; exp_continue; }
358         -re ".* 160      1234" { set x [expr $x+1]; exp_continue; }
359         -re ".* 161 0320 017893F1" { set x [expr $x+1]; exp_continue; }
360         -re ".* 161      1234" { set x [expr $x+1]; exp_continue; }
361         -re ".* 162 0326 017893D9" { set x [expr $x+1]; exp_continue; }
362         -re ".* 162      12345678" { set x [expr $x+1]; exp_continue; }
363         -re ".* 163 032e 017893E9" { set x [expr $x+1]; exp_continue; }
364         -re ".* 163      12345678" { set x [expr $x+1]; exp_continue; }
365         -re ".* 164 0336 017893F9" { set x [expr $x+1]; exp_continue; }
366         -re ".* 164      12345678" { set x [expr $x+1]; exp_continue; }
367         -re ".* 165 033e 01789340" { set x [expr $x+1]; exp_continue; }
368         -re ".* 165      1234" { set x [expr $x+1]; exp_continue; }
369         -re ".* 166 0344 01789348" { set x [expr $x+1]; exp_continue; }
370         -re ".* 166      12345678" { set x [expr $x+1]; exp_continue; }
371         -re ".* 167              " {
372             if [expr $x == 26] then {
373                 pass "$testname: mov.b @+er3, ..."
374             } else {
375                 fail "$testname: mov.b @+er3, ... ($x)"
376             }
377         }
378         default { fail "$testname: mov.b @+er3, ... ($x)" }
379     }
380
381     set x 0
382     expect {
383         -re ".* 168 034c 0178C301" { set x [expr $x+1]; exp_continue; }
384         -re ".* 168      1234" { set x [expr $x+1]; exp_continue; }
385         -re ".* 169 0352 0178C311" { set x [expr $x+1]; exp_continue; }
386         -re ".* 169      1234" { set x [expr $x+1]; exp_continue; }
387         -re ".* 170 0358 0178C381" { set x [expr $x+1]; exp_continue; }
388         -re ".* 170      1234" { set x [expr $x+1]; exp_continue; }
389         -re ".* 171 035e 0178C3B1" { set x [expr $x+1]; exp_continue; }
390         -re ".* 171      1234" { set x [expr $x+1]; exp_continue; }
391         -re ".* 172 0364 0178C391" { set x [expr $x+1]; exp_continue; }
392         -re ".* 172      1234" { set x [expr $x+1]; exp_continue; }
393         -re ".* 173 036a 0178C3A1" { set x [expr $x+1]; exp_continue; }
394         -re ".* 173      1234" { set x [expr $x+1]; exp_continue; }
395         -re ".* 174 0370 0178C3C1" { set x [expr $x+1]; exp_continue; }
396         -re ".* 174      12349ABC" { set x [expr $x+1]; exp_continue; }
397         -re ".* 175 0378 0178C3C9" { set x [expr $x+1]; exp_continue; }
398         -re ".* 175      12349ABC" { set x [expr $x+1]; exp_continue; }
399         -re ".* 175      DEF0" { set x [expr $x+1]; exp_continue; }
400         -re ".* 176 0382 0178C3D1" { set x [expr $x+1]; exp_continue; }
401         -re ".* 176      12349ABC" { set x [expr $x+1]; exp_continue; }
402         -re ".* 177 038a 0178C3E1" { set x [expr $x+1]; exp_continue; }
403         -re ".* 177      12349ABC" { set x [expr $x+1]; exp_continue; }
404         -re ".* 178 0392 0178C3F1" { set x [expr $x+1]; exp_continue; }
405         -re ".* 178      12349ABC" { set x [expr $x+1]; exp_continue; }
406         -re ".* 179 039a 0178C3D9" { set x [expr $x+1]; exp_continue; }
407         -re ".* 179      12349ABC" { set x [expr $x+1]; exp_continue; }
408         -re ".* 179      DEF0" { set x [expr $x+1]; exp_continue; }
409         -re ".* 180 03a4 0178C3E9" { set x [expr $x+1]; exp_continue; }
410         -re ".* 180      12349ABC" { set x [expr $x+1]; exp_continue; }
411         -re ".* 180      DEF0" { set x [expr $x+1]; exp_continue; }
412         -re ".* 181 03ae 0178C3F9" { set x [expr $x+1]; exp_continue; }
413         -re ".* 181      12349ABC" { set x [expr $x+1]; exp_continue; }
414         -re ".* 181      DEF0" { set x [expr $x+1]; exp_continue; }
415         -re ".* 182 03b8 0178C340" { set x [expr $x+1]; exp_continue; }
416         -re ".* 182      12349ABC" { set x [expr $x+1]; exp_continue; }
417         -re ".* 183 03c0 0178C348" { set x [expr $x+1]; exp_continue; }
418         -re ".* 183      12349ABC" { set x [expr $x+1]; exp_continue; }
419         -re ".* 183      DEF0" { set x [expr $x+1]; exp_continue; }
420         -re ".* 184              " {
421             if [expr $x == 37] then {
422                 pass "$testname: mov.b @(0x1234:16,er3), ..."
423             } else {
424                 fail "$testname: mov.b @(0x1234:16,er3), ... ($x)"
425             }
426         }
427         default { fail "$testname: mov.b @(0x1234:16,er3), ... ($x)" }
428     }
429
430     set x 0
431     expect {
432         -re ".* 185 03ca 0178CB01" { set x [expr $x+1]; exp_continue; }
433         -re ".* 185      12345678" { set x [expr $x+1]; exp_continue; }
434         -re ".* 186 03d2 0178CB11" { set x [expr $x+1]; exp_continue; }
435         -re ".* 186      12345678" { set x [expr $x+1]; exp_continue; }
436         -re ".* 187 03da 0178CB81" { set x [expr $x+1]; exp_continue; }
437         -re ".* 187      12345678" { set x [expr $x+1]; exp_continue; }
438         -re ".* 188 03e2 0178CBB1" { set x [expr $x+1]; exp_continue; }
439         -re ".* 188      12345678" { set x [expr $x+1]; exp_continue; }
440         -re ".* 189 03ea 0178CB91" { set x [expr $x+1]; exp_continue; }
441         -re ".* 189      12345678" { set x [expr $x+1]; exp_continue; }
442         -re ".* 190 03f2 0178CBA1" { set x [expr $x+1]; exp_continue; }
443         -re ".* 190      12345678" { set x [expr $x+1]; exp_continue; }
444         -re ".* 191 03fa 0178CBC1" { set x [expr $x+1]; exp_continue; }
445         -re ".* 191      12345678" { set x [expr $x+1]; exp_continue; }
446         -re ".* 191      9ABC" { set x [expr $x+1]; exp_continue; }
447         -re ".* 192 0404 0178CBC9" { set x [expr $x+1]; exp_continue; }
448         -re ".* 192      12345678" { set x [expr $x+1]; exp_continue; }
449         -re ".* 192      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
450         -re ".* 193 0410 0178CBD1" { set x [expr $x+1]; exp_continue; }
451         -re ".* 193      12345678" { set x [expr $x+1]; exp_continue; }
452         -re ".* 193      9ABC" { set x [expr $x+1]; exp_continue; }
453         -re ".* 194 041a 0178CBE1" { set x [expr $x+1]; exp_continue; }
454         -re ".* 194      12345678" { set x [expr $x+1]; exp_continue; }
455         -re ".* 194      9ABC" { set x [expr $x+1]; exp_continue; }
456         -re ".* 195 0424 0178CBF1" { set x [expr $x+1]; exp_continue; }
457         -re ".* 195      12345678" { set x [expr $x+1]; exp_continue; }
458         -re ".* 195      9ABC" { set x [expr $x+1]; exp_continue; }
459         -re ".* 196 042e 0178CBD9" { set x [expr $x+1]; exp_continue; }
460         -re ".* 196      12345678" { set x [expr $x+1]; exp_continue; }
461         -re ".* 196      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
462         -re ".* 197 043a 0178CBE9" { set x [expr $x+1]; exp_continue; }
463         -re ".* 197      12345678" { set x [expr $x+1]; exp_continue; }
464         -re ".* 197      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
465         -re ".* 198 0446 0178CBF9" { set x [expr $x+1]; exp_continue; }
466         -re ".* 198      12345678" { set x [expr $x+1]; exp_continue; }
467         -re ".* 198      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
468         -re ".* 199 0452 0178CB40" { set x [expr $x+1]; exp_continue; }
469         -re ".* 199      12345678" { set x [expr $x+1]; exp_continue; }
470         -re ".* 199      9ABC" { set x [expr $x+1]; exp_continue; }
471         -re ".* 200 045c 0178CB48" { set x [expr $x+1]; exp_continue; }
472         -re ".* 200      12345678" { set x [expr $x+1]; exp_continue; }
473         -re ".* 200      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
474         -re ".* 201              " {
475             if [expr $x == 42] then {
476                 pass "$testname: mov.b @(0x12345678:32,er3), ..."
477             } else {
478                 fail "$testname: mov.b @(0x12345678:32,er3), ... ($x)"
479             }
480         }
481         default { fail "$testname: mov.b @(0x12345678:32,er3), ... ($x)" }
482     }
483
484     set x 0
485     expect {
486         -re ".* 202 0468 0178D301" { set x [expr $x+1]; exp_continue; }
487         -re ".* 202      1234" { set x [expr $x+1]; exp_continue; }
488         -re ".* 203 046e 0178D311" { set x [expr $x+1]; exp_continue; }
489         -re ".* 203      1234" { set x [expr $x+1]; exp_continue; }
490         -re ".* 204 0474 0178D381" { set x [expr $x+1]; exp_continue; }
491         -re ".* 204      1234" { set x [expr $x+1]; exp_continue; }
492         -re ".* 205 047a 0178D3B1" { set x [expr $x+1]; exp_continue; }
493         -re ".* 205      1234" { set x [expr $x+1]; exp_continue; }
494         -re ".* 206 0480 0178D391" { set x [expr $x+1]; exp_continue; }
495         -re ".* 206      1234" { set x [expr $x+1]; exp_continue; }
496         -re ".* 207 0486 0178D3A1" { set x [expr $x+1]; exp_continue; }
497         -re ".* 207      1234" { set x [expr $x+1]; exp_continue; }
498         -re ".* 208 048c 0178D3D1" { set x [expr $x+1]; exp_continue; }
499         -re ".* 208      12349ABC" { set x [expr $x+1]; exp_continue; }
500         -re ".* 209 0494 0178D3E1" { set x [expr $x+1]; exp_continue; }
501         -re ".* 209      12349ABC" { set x [expr $x+1]; exp_continue; }
502         -re ".* 210 049c 0178D3F1" { set x [expr $x+1]; exp_continue; }
503         -re ".* 210      12349ABC" { set x [expr $x+1]; exp_continue; }
504         -re ".* 211 04a4 0178D3D9" { set x [expr $x+1]; exp_continue; }
505         -re ".* 211      12349ABC" { set x [expr $x+1]; exp_continue; }
506         -re ".* 211      DEF0" { set x [expr $x+1]; exp_continue; }
507         -re ".* 212 04ae 0178D3E9" { set x [expr $x+1]; exp_continue; }
508         -re ".* 212      12349ABC" { set x [expr $x+1]; exp_continue; }
509         -re ".* 212      DEF0" { set x [expr $x+1]; exp_continue; }
510         -re ".* 213 04b8 0178D3F9" { set x [expr $x+1]; exp_continue; }
511         -re ".* 213      12349ABC" { set x [expr $x+1]; exp_continue; }
512         -re ".* 213      DEF0" { set x [expr $x+1]; exp_continue; }
513         -re ".* 214 04c2 0178D340" { set x [expr $x+1]; exp_continue; }
514         -re ".* 214      12349ABC" { set x [expr $x+1]; exp_continue; }
515         -re ".* 215 04ca 0178D348" { set x [expr $x+1]; exp_continue; }
516         -re ".* 215      12349ABC" { set x [expr $x+1]; exp_continue; }
517         -re ".* 215      DEF0" { set x [expr $x+1]; exp_continue; }
518         -re ".* 216              " {
519             if [expr $x == 32] then {
520                 pass "$testname: mov.b @(0x1234:16,r3l.b), ..."
521             } else {
522                 fail "$testname: mov.b @(0x1234:16,r3l.b), ... ($x)"
523             }
524         }
525         default { fail "$testname: mov.b @(0x1234:16,r3l.b), ... ($x)" }
526     }
527
528     set x 0
529     expect {
530         -re ".* 217 04d4 0178E301" { set x [expr $x+1]; exp_continue; }
531         -re ".* 217      1234" { set x [expr $x+1]; exp_continue; }
532         -re ".* 218 04da 0178E311" { set x [expr $x+1]; exp_continue; }
533         -re ".* 218      1234" { set x [expr $x+1]; exp_continue; }
534         -re ".* 219 04e0 0178E381" { set x [expr $x+1]; exp_continue; }
535         -re ".* 219      1234" { set x [expr $x+1]; exp_continue; }
536         -re ".* 220 04e6 0178E3B1" { set x [expr $x+1]; exp_continue; }
537         -re ".* 220      1234" { set x [expr $x+1]; exp_continue; }
538         -re ".* 221 04ec 0178E391" { set x [expr $x+1]; exp_continue; }
539         -re ".* 221      1234" { set x [expr $x+1]; exp_continue; }
540         -re ".* 222 04f2 0178E3A1" { set x [expr $x+1]; exp_continue; }
541         -re ".* 222      1234" { set x [expr $x+1]; exp_continue; }
542         -re ".* 223 04f8 0178E3C1" { set x [expr $x+1]; exp_continue; }
543         -re ".* 223      12349ABC" { set x [expr $x+1]; exp_continue; }
544         -re ".* 224 0500 0178E3C9" { set x [expr $x+1]; exp_continue; }
545         -re ".* 224      12349ABC" { set x [expr $x+1]; exp_continue; }
546         -re ".* 224      DEF0" { set x [expr $x+1]; exp_continue; }
547         -re ".* 225 050a 0178E3D3" { set x [expr $x+1]; exp_continue; }
548         -re ".* 225      12349ABC" { set x [expr $x+1]; exp_continue; }
549         -re ".* 226 0512 0178E3E3" { set x [expr $x+1]; exp_continue; }
550         -re ".* 226      12349ABC" { set x [expr $x+1]; exp_continue; }
551         -re ".* 227 051a 0178E3F3" { set x [expr $x+1]; exp_continue; }
552         -re ".* 227      12349ABC" { set x [expr $x+1]; exp_continue; }
553         -re ".* 228 0522 0178E3DB" { set x [expr $x+1]; exp_continue; }
554         -re ".* 228      12349ABC" { set x [expr $x+1]; exp_continue; }
555         -re ".* 228      DEF0" { set x [expr $x+1]; exp_continue; }
556         -re ".* 229 052c 0178E3EB" { set x [expr $x+1]; exp_continue; }
557         -re ".* 229      12349ABC" { set x [expr $x+1]; exp_continue; }
558         -re ".* 229      DEF0" { set x [expr $x+1]; exp_continue; }
559         -re ".* 230 0536 0178E3FB" { set x [expr $x+1]; exp_continue; }
560         -re ".* 230      12349ABC" { set x [expr $x+1]; exp_continue; }
561         -re ".* 230      DEF0" { set x [expr $x+1]; exp_continue; }
562         -re ".* 231 0540 0178E340" { set x [expr $x+1]; exp_continue; }
563         -re ".* 231      12349ABC" { set x [expr $x+1]; exp_continue; }
564         -re ".* 232 0548 0178E348" { set x [expr $x+1]; exp_continue; }
565         -re ".* 232      12349ABC" { set x [expr $x+1]; exp_continue; }
566         -re ".* 232      DEF0" { set x [expr $x+1]; exp_continue; }
567         -re ".* 233              " {
568             if [expr $x == 37] then {
569                 pass "$testname: mov.b @(0x1234:16,r3.w), ..."
570             } else {
571                 fail "$testname: mov.b @(0x1234:16,r3.w), ... ($x)"
572             }
573         }
574         default { fail "$testname: mov.b @(0x1234:16,r3.w), ... ($x)" }
575     }
576
577     set x 0
578     expect {
579         -re ".* 234 0552 0178F301" { set x [expr $x+1]; exp_continue; }
580         -re ".* 234      1234" { set x [expr $x+1]; exp_continue; }
581         -re ".* 235 0558 0178F311" { set x [expr $x+1]; exp_continue; }
582         -re ".* 235      1234" { set x [expr $x+1]; exp_continue; }
583         -re ".* 236 055e 0178F381" { set x [expr $x+1]; exp_continue; }
584         -re ".* 236      1234" { set x [expr $x+1]; exp_continue; }
585         -re ".* 237 0564 0178F3B1" { set x [expr $x+1]; exp_continue; }
586         -re ".* 237      1234" { set x [expr $x+1]; exp_continue; }
587         -re ".* 238 056a 0178F391" { set x [expr $x+1]; exp_continue; }
588         -re ".* 238      1234" { set x [expr $x+1]; exp_continue; }
589         -re ".* 239 0570 0178F3A1" { set x [expr $x+1]; exp_continue; }
590         -re ".* 239      1234" { set x [expr $x+1]; exp_continue; }
591         -re ".* 240 0576 0178F3C1" { set x [expr $x+1]; exp_continue; }
592         -re ".* 240      12349ABC" { set x [expr $x+1]; exp_continue; }
593         -re ".* 241 057e 0178F3C9" { set x [expr $x+1]; exp_continue; }
594         -re ".* 241      12349ABC" { set x [expr $x+1]; exp_continue; }
595         -re ".* 241      DEF0" { set x [expr $x+1]; exp_continue; }
596         -re ".* 242 0588 0178F3D3" { set x [expr $x+1]; exp_continue; }
597         -re ".* 242      12349ABC" { set x [expr $x+1]; exp_continue; }
598         -re ".* 243 0590 0178F3E3" { set x [expr $x+1]; exp_continue; }
599         -re ".* 243      12349ABC" { set x [expr $x+1]; exp_continue; }
600         -re ".* 244 0598 0178F3F3" { set x [expr $x+1]; exp_continue; }
601         -re ".* 244      12349ABC" { set x [expr $x+1]; exp_continue; }
602         -re ".* 245 05a0 0178F3DB" { set x [expr $x+1]; exp_continue; }
603         -re ".* 245      12349ABC" { set x [expr $x+1]; exp_continue; }
604         -re ".* 245      DEF0" { set x [expr $x+1]; exp_continue; }
605         -re ".* 246 05aa 0178F3EB" { set x [expr $x+1]; exp_continue; }
606         -re ".* 246      12349ABC" { set x [expr $x+1]; exp_continue; }
607         -re ".* 246      DEF0" { set x [expr $x+1]; exp_continue; }
608         -re ".* 247 05b4 0178F3FB" { set x [expr $x+1]; exp_continue; }
609         -re ".* 247      12349ABC" { set x [expr $x+1]; exp_continue; }
610         -re ".* 247      DEF0" { set x [expr $x+1]; exp_continue; }
611         -re ".* 248 05be 0178F340" { set x [expr $x+1]; exp_continue; }
612         -re ".* 248      12349ABC" { set x [expr $x+1]; exp_continue; }
613         -re ".* 249 05c6 0178F348" { set x [expr $x+1]; exp_continue; }
614         -re ".* 249      12349ABC" { set x [expr $x+1]; exp_continue; }
615         -re ".* 249      DEF0" { set x [expr $x+1]; exp_continue; }
616         -re ".* 250              " {
617             if [expr $x == 37] then {
618                 pass "$testname: mov.b @(0x1234:16,er3.l), ..."
619             } else {
620                 fail "$testname: mov.b @(0x1234:16,er3.l), ... ($x)"
621             }
622         }
623         default { fail "$testname: mov.b @(0x1234:16,er3.l), ... ($x)" }
624     }
625
626     set x 0
627     expect {
628         -re ".* 251 05d0 0178DB01" { set x [expr $x+1]; exp_continue; }
629         -re ".* 251      12345678" { set x [expr $x+1]; exp_continue; }
630         -re ".* 252 05d8 0178DB11" { set x [expr $x+1]; exp_continue; }
631         -re ".* 252      12345678" { set x [expr $x+1]; exp_continue; }
632         -re ".* 253 05e0 0178DB81" { set x [expr $x+1]; exp_continue; }
633         -re ".* 253      12345678" { set x [expr $x+1]; exp_continue; }
634         -re ".* 254 05e8 0178DBB1" { set x [expr $x+1]; exp_continue; }
635         -re ".* 254      12345678" { set x [expr $x+1]; exp_continue; }
636         -re ".* 255 05f0 0178DB91" { set x [expr $x+1]; exp_continue; }
637         -re ".* 255      12345678" { set x [expr $x+1]; exp_continue; }
638         -re ".* 256 05f8 0178DBA1" { set x [expr $x+1]; exp_continue; }
639         -re ".* 256      12345678" { set x [expr $x+1]; exp_continue; }
640         -re ".* 257 0600 0178DBC1" { set x [expr $x+1]; exp_continue; }
641         -re ".* 257      12345678" { set x [expr $x+1]; exp_continue; }
642         -re ".* 257      9ABC" { set x [expr $x+1]; exp_continue; }
643         -re ".* 258 060a 0178DBC9" { set x [expr $x+1]; exp_continue; }
644         -re ".* 258      12345678" { set x [expr $x+1]; exp_continue; }
645         -re ".* 258      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
646         -re ".* 259 0616 0178DBD3" { set x [expr $x+1]; exp_continue; }
647         -re ".* 259      12345678" { set x [expr $x+1]; exp_continue; }
648         -re ".* 259      9ABC" { set x [expr $x+1]; exp_continue; }
649         -re ".* 260 0620 0178DBE3" { set x [expr $x+1]; exp_continue; }
650         -re ".* 260      12345678" { set x [expr $x+1]; exp_continue; }
651         -re ".* 260      9ABC" { set x [expr $x+1]; exp_continue; }
652         -re ".* 261 062a 0178DBF3" { set x [expr $x+1]; exp_continue; }
653         -re ".* 261      12345678" { set x [expr $x+1]; exp_continue; }
654         -re ".* 261      9ABC" { set x [expr $x+1]; exp_continue; }
655         -re ".* 262 0634 0178DBDB" { set x [expr $x+1]; exp_continue; }
656         -re ".* 262      12345678" { set x [expr $x+1]; exp_continue; }
657         -re ".* 262      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
658         -re ".* 263 0640 0178DBEB" { set x [expr $x+1]; exp_continue; }
659         -re ".* 263      12345678" { set x [expr $x+1]; exp_continue; }
660         -re ".* 263      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
661         -re ".* 264 064c 0178DBFB" { set x [expr $x+1]; exp_continue; }
662         -re ".* 264      12345678" { set x [expr $x+1]; exp_continue; }
663         -re ".* 264      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
664         -re ".* 265 0658 0178DB40" { set x [expr $x+1]; exp_continue; }
665         -re ".* 265      12345678" { set x [expr $x+1]; exp_continue; }
666         -re ".* 265      9ABC" { set x [expr $x+1]; exp_continue; }
667         -re ".* 266 0662 0178DB48" { set x [expr $x+1]; exp_continue; }
668         -re ".* 266      12345678" { set x [expr $x+1]; exp_continue; }
669         -re ".* 266      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
670         -re ".* 267              " {
671             if [expr $x == 42] then {
672                 pass "$testname: mov.b @(0x12345678:32,r3l.b), ..."
673             } else {
674                 fail "$testname: mov.b @(0x12345678:32,r3l.b), ... ($x)"
675             }
676         }
677         default { fail "$testname: mov.b @(0x12345678:32,r3l.b), ... ($x)" }
678     }
679
680     set x 0
681     expect {
682         -re ".* 268 066e 0178EB01" { set x [expr $x+1]; exp_continue; }
683         -re ".* 268      12345678" { set x [expr $x+1]; exp_continue; }
684         -re ".* 269 0676 0178EB11" { set x [expr $x+1]; exp_continue; }
685         -re ".* 269      12345678" { set x [expr $x+1]; exp_continue; }
686         -re ".* 270 067e 0178EB81" { set x [expr $x+1]; exp_continue; }
687         -re ".* 270      12345678" { set x [expr $x+1]; exp_continue; }
688         -re ".* 271 0686 0178EBB1" { set x [expr $x+1]; exp_continue; }
689         -re ".* 271      12345678" { set x [expr $x+1]; exp_continue; }
690         -re ".* 272 068e 0178EB91" { set x [expr $x+1]; exp_continue; }
691         -re ".* 272      12345678" { set x [expr $x+1]; exp_continue; }
692         -re ".* 273 0696 0178EBA1" { set x [expr $x+1]; exp_continue; }
693         -re ".* 273      12345678" { set x [expr $x+1]; exp_continue; }
694         -re ".* 274 069e 0178EBC1" { set x [expr $x+1]; exp_continue; }
695         -re ".* 274      12345678" { set x [expr $x+1]; exp_continue; }
696         -re ".* 274      9ABC" { set x [expr $x+1]; exp_continue; }
697         -re ".* 275 06a8 0178EBC9" { set x [expr $x+1]; exp_continue; }
698         -re ".* 275      12345678" { set x [expr $x+1]; exp_continue; }
699         -re ".* 275      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
700         -re ".* 276 06b4 0178EBD3" { set x [expr $x+1]; exp_continue; }
701         -re ".* 276      12345678" { set x [expr $x+1]; exp_continue; }
702         -re ".* 276      9ABC" { set x [expr $x+1]; exp_continue; }
703         -re ".* 277 06be 0178EBE3" { set x [expr $x+1]; exp_continue; }
704         -re ".* 277      12345678" { set x [expr $x+1]; exp_continue; }
705         -re ".* 277      9ABC" { set x [expr $x+1]; exp_continue; }
706         -re ".* 278 06c8 0178EBF3" { set x [expr $x+1]; exp_continue; }
707         -re ".* 278      12345678" { set x [expr $x+1]; exp_continue; }
708         -re ".* 278      9ABC" { set x [expr $x+1]; exp_continue; }
709         -re ".* 279 06d2 0178EBDB" { set x [expr $x+1]; exp_continue; }
710         -re ".* 279      12345678" { set x [expr $x+1]; exp_continue; }
711         -re ".* 279      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
712         -re ".* 280 06de 0178EBEB" { set x [expr $x+1]; exp_continue; }
713         -re ".* 280      12345678" { set x [expr $x+1]; exp_continue; }
714         -re ".* 280      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
715         -re ".* 281 06ea 0178EBFB" { set x [expr $x+1]; exp_continue; }
716         -re ".* 281      12345678" { set x [expr $x+1]; exp_continue; }
717         -re ".* 281      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
718         -re ".* 282 06f6 0178EB40" { set x [expr $x+1]; exp_continue; }
719         -re ".* 282      12345678" { set x [expr $x+1]; exp_continue; }
720         -re ".* 282      9ABC" { set x [expr $x+1]; exp_continue; }
721         -re ".* 283 0700 0178EB48" { set x [expr $x+1]; exp_continue; }
722         -re ".* 283      12345678" { set x [expr $x+1]; exp_continue; }
723         -re ".* 283      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
724         -re ".* 284              " {
725             if [expr $x == 42] then {
726                 pass "$testname: mov.b @(0x12345678:32,r3.w), ..."
727             } else {
728                 fail "$testname: mov.b @(0x12345678:32,r3.w), ... ($x)"
729             }
730         }
731         default { fail "$testname: mov.b @(0x12345678:32,r3.w), ... ($x)" }
732     }
733
734     set x 0
735     expect {
736         -re ".* 285 070c 0178FB01" { set x [expr $x+1]; exp_continue; }
737         -re ".* 285      12345678" { set x [expr $x+1]; exp_continue; }
738         -re ".* 286 0714 0178FB11" { set x [expr $x+1]; exp_continue; }
739         -re ".* 286      12345678" { set x [expr $x+1]; exp_continue; }
740         -re ".* 287 071c 0178FB81" { set x [expr $x+1]; exp_continue; }
741         -re ".* 287      12345678" { set x [expr $x+1]; exp_continue; }
742         -re ".* 288 0724 0178FBB1" { set x [expr $x+1]; exp_continue; }
743         -re ".* 288      12345678" { set x [expr $x+1]; exp_continue; }
744         -re ".* 289 072c 0178FB91" { set x [expr $x+1]; exp_continue; }
745         -re ".* 289      12345678" { set x [expr $x+1]; exp_continue; }
746         -re ".* 290 0734 0178FBA1" { set x [expr $x+1]; exp_continue; }
747         -re ".* 290      12345678" { set x [expr $x+1]; exp_continue; }
748         -re ".* 291 073c 0178FBC1" { set x [expr $x+1]; exp_continue; }
749         -re ".* 291      12345678" { set x [expr $x+1]; exp_continue; }
750         -re ".* 291      9ABC" { set x [expr $x+1]; exp_continue; }
751         -re ".* 292 0746 0178FBC9" { set x [expr $x+1]; exp_continue; }
752         -re ".* 292      12345678" { set x [expr $x+1]; exp_continue; }
753         -re ".* 292      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
754         -re ".* 293 0752 0178FBD3" { set x [expr $x+1]; exp_continue; }
755         -re ".* 293      12345678" { set x [expr $x+1]; exp_continue; }
756         -re ".* 293      9ABC" { set x [expr $x+1]; exp_continue; }
757         -re ".* 294 075c 0178FBE3" { set x [expr $x+1]; exp_continue; }
758         -re ".* 294      12345678" { set x [expr $x+1]; exp_continue; }
759         -re ".* 294      9ABC" { set x [expr $x+1]; exp_continue; }
760         -re ".* 295 0766 0178FBF3" { set x [expr $x+1]; exp_continue; }
761         -re ".* 295      12345678" { set x [expr $x+1]; exp_continue; }
762         -re ".* 295      9ABC" { set x [expr $x+1]; exp_continue; }
763         -re ".* 296 0770 0178FBDB" { set x [expr $x+1]; exp_continue; }
764         -re ".* 296      12345678" { set x [expr $x+1]; exp_continue; }
765         -re ".* 296      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
766         -re ".* 297 077c 0178FBEB" { set x [expr $x+1]; exp_continue; }
767         -re ".* 297      12345678" { set x [expr $x+1]; exp_continue; }
768         -re ".* 297      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
769         -re ".* 298 0788 0178FBFB" { set x [expr $x+1]; exp_continue; }
770         -re ".* 298      12345678" { set x [expr $x+1]; exp_continue; }
771         -re ".* 298      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
772         -re ".* 299 0794 0178FB40" { set x [expr $x+1]; exp_continue; }
773         -re ".* 299      12345678" { set x [expr $x+1]; exp_continue; }
774         -re ".* 299      9ABC" { set x [expr $x+1]; exp_continue; }
775         -re ".* 300 079e 0178FB48" { set x [expr $x+1]; exp_continue; }
776         -re ".* 300      12345678" { set x [expr $x+1]; exp_continue; }
777         -re ".* 300      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
778         -re ".* 301              " {
779             if [expr $x == 42] then {
780                 pass "$testname: mov.b @(0x12345678:32,er3.l), ..."
781             } else {
782                 fail "$testname: mov.b @(0x12345678:32,er3.l), ... ($x)"
783             }
784         }
785         default { fail "$testname: mov.b @(0x12345678:32,er3.l), ... ($x)" }
786     }
787
788     set x 0
789     expect {
790         -re ".* 302 07aa 01784001" { set x [expr $x+1]; exp_continue; }
791         -re ".* 302      1234" { set x [expr $x+1]; exp_continue; }
792         -re ".* 303 07b0 01784011" { set x [expr $x+1]; exp_continue; }
793         -re ".* 303      1234" { set x [expr $x+1]; exp_continue; }
794         -re ".* 304 07b6 01784081" { set x [expr $x+1]; exp_continue; }
795         -re ".* 304      1234" { set x [expr $x+1]; exp_continue; }
796         -re ".* 305 07bc 017840B1" { set x [expr $x+1]; exp_continue; }
797         -re ".* 305      1234" { set x [expr $x+1]; exp_continue; }
798         -re ".* 306 07c2 01784091" { set x [expr $x+1]; exp_continue; }
799         -re ".* 306      1234" { set x [expr $x+1]; exp_continue; }
800         -re ".* 307 07c8 017840A1" { set x [expr $x+1]; exp_continue; }
801         -re ".* 307      1234" { set x [expr $x+1]; exp_continue; }
802         -re ".* 308 07ce 017840C1" { set x [expr $x+1]; exp_continue; }
803         -re ".* 308      12349ABC" { set x [expr $x+1]; exp_continue; }
804         -re ".* 309 07d6 017840C9" { set x [expr $x+1]; exp_continue; }
805         -re ".* 309      12349ABC" { set x [expr $x+1]; exp_continue; }
806         -re ".* 309      DEF0" { set x [expr $x+1]; exp_continue; }
807         -re ".* 310 07e0 017840D3" { set x [expr $x+1]; exp_continue; }
808         -re ".* 310      12349ABC" { set x [expr $x+1]; exp_continue; }
809         -re ".* 311 07e8 017840E3" { set x [expr $x+1]; exp_continue; }
810         -re ".* 311      12349ABC" { set x [expr $x+1]; exp_continue; }
811         -re ".* 312 07f0 017840F3" { set x [expr $x+1]; exp_continue; }
812         -re ".* 312      12349ABC" { set x [expr $x+1]; exp_continue; }
813         -re ".* 313 07f8 017840DB" { set x [expr $x+1]; exp_continue; }
814         -re ".* 313      12349ABC" { set x [expr $x+1]; exp_continue; }
815         -re ".* 313      DEF0" { set x [expr $x+1]; exp_continue; }
816         -re ".* 314 0802 017840EB" { set x [expr $x+1]; exp_continue; }
817         -re ".* 314      12349ABC" { set x [expr $x+1]; exp_continue; }
818         -re ".* 314      DEF0" { set x [expr $x+1]; exp_continue; }
819         -re ".* 315 080c 017840FB" { set x [expr $x+1]; exp_continue; }
820         -re ".* 315      12349ABC" { set x [expr $x+1]; exp_continue; }
821         -re ".* 315      DEF0" { set x [expr $x+1]; exp_continue; }
822         -re ".* 316 0816 01784040" { set x [expr $x+1]; exp_continue; }
823         -re ".* 316      12349ABC" { set x [expr $x+1]; exp_continue; }
824         -re ".* 317 081e 01784048" { set x [expr $x+1]; exp_continue; }
825         -re ".* 317      12349ABC" { set x [expr $x+1]; exp_continue; }
826         -re ".* 317      DEF0" { set x [expr $x+1]; exp_continue; }
827         -re ".* 318              " {
828             if [expr $x == 37] then {
829                 pass "$testname: mov.b @0x1234:16, ..."
830             } else {
831                 fail "$testname: mov.b @0x1234:16, ... ($x)"
832             }
833         }
834         default { fail "$testname: mov.b @0x1234:16, ... ($x)" }
835     }
836
837     set x 0
838     expect {
839         -re ".* 319 0828 01784801" { set x [expr $x+1]; exp_continue; }
840         -re ".* 319      12345678" { set x [expr $x+1]; exp_continue; }
841         -re ".* 320 0830 01784811" { set x [expr $x+1]; exp_continue; }
842         -re ".* 320      12345678" { set x [expr $x+1]; exp_continue; }
843         -re ".* 321 0838 01784881" { set x [expr $x+1]; exp_continue; }
844         -re ".* 321      12345678" { set x [expr $x+1]; exp_continue; }
845         -re ".* 322 0840 017848B1" { set x [expr $x+1]; exp_continue; }
846         -re ".* 322      12345678" { set x [expr $x+1]; exp_continue; }
847         -re ".* 323 0848 01784891" { set x [expr $x+1]; exp_continue; }
848         -re ".* 323      12345678" { set x [expr $x+1]; exp_continue; }
849         -re ".* 324 0850 017848A1" { set x [expr $x+1]; exp_continue; }
850         -re ".* 324      12345678" { set x [expr $x+1]; exp_continue; }
851         -re ".* 325 0858 017848C1" { set x [expr $x+1]; exp_continue; }
852         -re ".* 325      12345678" { set x [expr $x+1]; exp_continue; }
853         -re ".* 325      9ABC" { set x [expr $x+1]; exp_continue; }
854         -re ".* 326 0862 017848C9" { set x [expr $x+1]; exp_continue; }
855         -re ".* 326      12345678" { set x [expr $x+1]; exp_continue; }
856         -re ".* 326      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
857         -re ".* 327 086e 017848D3" { set x [expr $x+1]; exp_continue; }
858         -re ".* 327      12345678" { set x [expr $x+1]; exp_continue; }
859         -re ".* 327      9ABC" { set x [expr $x+1]; exp_continue; }
860         -re ".* 328 0878 017848E3" { set x [expr $x+1]; exp_continue; }
861         -re ".* 328      12345678" { set x [expr $x+1]; exp_continue; }
862         -re ".* 328      9ABC" { set x [expr $x+1]; exp_continue; }
863         -re ".* 329 0882 017848F3" { set x [expr $x+1]; exp_continue; }
864         -re ".* 329      12345678" { set x [expr $x+1]; exp_continue; }
865         -re ".* 329      9ABC" { set x [expr $x+1]; exp_continue; }
866         -re ".* 330 088c 017848DB" { set x [expr $x+1]; exp_continue; }
867         -re ".* 330      12345678" { set x [expr $x+1]; exp_continue; }
868         -re ".* 330      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
869         -re ".* 331 0898 017848EB" { set x [expr $x+1]; exp_continue; }
870         -re ".* 331      12345678" { set x [expr $x+1]; exp_continue; }
871         -re ".* 331      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
872         -re ".* 332 08a4 017848FB" { set x [expr $x+1]; exp_continue; }
873         -re ".* 332      12345678" { set x [expr $x+1]; exp_continue; }
874         -re ".* 332      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
875         -re ".* 333 08b0 01784840" { set x [expr $x+1]; exp_continue; }
876         -re ".* 333      12345678" { set x [expr $x+1]; exp_continue; }
877         -re ".* 333      9ABC" { set x [expr $x+1]; exp_continue; }
878         -re ".* 334 08ba 01784848" { set x [expr $x+1]; exp_continue; }
879         -re ".* 334      12345678" { set x [expr $x+1]; exp_continue; }
880         -re ".* 334      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
881         -re ".* 335              " {
882             if [expr $x == 42] then {
883                 pass "$testname: mov.b @0x12345678:32, ..."
884             } else {
885                 fail "$testname: mov.b @0x12345678:32, ... ($x)"
886             }
887         }
888         default { fail "$testname: mov.b @0x12345678:32, ... ($x)" }
889     }
890
891     set x 0
892     expect {
893         -re ".* 336 08c6 79011234" { set x [expr $x+1]; exp_continue; }
894         -re ".* 337 08ca 0F13" { set x [expr $x+1]; exp_continue; }
895         -re ".* 338 08cc 79741234" { set x [expr $x+1]; exp_continue; }
896         -re ".* 338      0100" { set x [expr $x+1]; exp_continue; }
897         -re ".* 339 08d2 79741234" { set x [expr $x+1]; exp_continue; }
898         -re ".* 339      1100" { set x [expr $x+1]; exp_continue; }
899         -re ".* 340 08d8 79741234" { set x [expr $x+1]; exp_continue; }
900         -re ".* 340      8100" { set x [expr $x+1]; exp_continue; }
901         -re ".* 341 08de 79741234" { set x [expr $x+1]; exp_continue; }
902         -re ".* 341      B100" { set x [expr $x+1]; exp_continue; }
903         -re ".* 342 08e4 79741234" { set x [expr $x+1]; exp_continue; }
904         -re ".* 342      9100" { set x [expr $x+1]; exp_continue; }
905         -re ".* 343 08ea 79741234" { set x [expr $x+1]; exp_continue; }
906         -re ".* 343      A100" { set x [expr $x+1]; exp_continue; }
907         -re ".* 344 08f0 79741234" { set x [expr $x+1]; exp_continue; }
908         -re ".* 344      C1001234" { set x [expr $x+1]; exp_continue; }
909         -re ".* 345 08f8 79741234" { set x [expr $x+1]; exp_continue; }
910         -re ".* 345      C9001234" { set x [expr $x+1]; exp_continue; }
911         -re ".* 345      5678" { set x [expr $x+1]; exp_continue; }
912         -re ".* 346 0902 79741234" { set x [expr $x+1]; exp_continue; }
913         -re ".* 346      D3001234" { set x [expr $x+1]; exp_continue; }
914         -re ".* 347 090a 79741234" { set x [expr $x+1]; exp_continue; }
915         -re ".* 347      E3001234" { set x [expr $x+1]; exp_continue; }
916         -re ".* 348 0912 79741234" { set x [expr $x+1]; exp_continue; }
917         -re ".* 348      F3001234" { set x [expr $x+1]; exp_continue; }
918         -re ".* 349 091a 79741234" { set x [expr $x+1]; exp_continue; }
919         -re ".* 349      DB001234" { set x [expr $x+1]; exp_continue; }
920         -re ".* 349      5678" { set x [expr $x+1]; exp_continue; }
921         -re ".* 350 0924 79741234" { set x [expr $x+1]; exp_continue; }
922         -re ".* 350      EB001234" { set x [expr $x+1]; exp_continue; }
923         -re ".* 350      5678" { set x [expr $x+1]; exp_continue; }
924         -re ".* 351 092e 79741234" { set x [expr $x+1]; exp_continue; }
925         -re ".* 351      FB001234" { set x [expr $x+1]; exp_continue; }
926         -re ".* 351      5678" { set x [expr $x+1]; exp_continue; }
927         -re ".* 352 0938 79741234" { set x [expr $x+1]; exp_continue; }
928         -re ".* 352      40001234" { set x [expr $x+1]; exp_continue; }
929         -re ".* 353 0940 79741234" { set x [expr $x+1]; exp_continue; }
930         -re ".* 353      48001234" { set x [expr $x+1]; exp_continue; }
931         -re ".* 353      5678" { set x [expr $x+1]; exp_continue; }
932         -re ".* 354              " {
933             if [expr $x == 39] then {
934                 pass "$testname: mov.w #0x1234:16, ..."
935             } else {
936                 fail "$testname: mov.w #0x1234:16, ... ($x)"
937             }
938         }
939         default { fail "$testname: mov.w #0x1234:16, ... ($x)" }
940     }
941
942     set x 0
943     expect {
944         -re ".* 355 094a 015D0112" { set x [expr $x+1]; exp_continue; }
945         -re ".* 356 094e 015D1112" { set x [expr $x+1]; exp_continue; }
946         -re ".* 357 0952 015D8112" { set x [expr $x+1]; exp_continue; }
947         -re ".* 358 0956 015DB112" { set x [expr $x+1]; exp_continue; }
948         -re ".* 359 095a 015D9112" { set x [expr $x+1]; exp_continue; }
949         -re ".* 360 095e 015DA112" { set x [expr $x+1]; exp_continue; }
950         -re ".* 361 0962 015DC112" { set x [expr $x+1]; exp_continue; }
951         -re ".* 361      1234" { set x [expr $x+1]; exp_continue; }
952         -re ".* 362 0968 015DC912" { set x [expr $x+1]; exp_continue; }
953         -re ".* 362      12345678" { set x [expr $x+1]; exp_continue; }
954         -re ".* 363 0970 015DD312" { set x [expr $x+1]; exp_continue; }
955         -re ".* 363      1234" { set x [expr $x+1]; exp_continue; }
956         -re ".* 364 0976 015DE312" { set x [expr $x+1]; exp_continue; }
957         -re ".* 364      1234" { set x [expr $x+1]; exp_continue; }
958         -re ".* 365 097c 015DF312" { set x [expr $x+1]; exp_continue; }
959         -re ".* 365      1234" { set x [expr $x+1]; exp_continue; }
960         -re ".* 366 0982 015DDB12" { set x [expr $x+1]; exp_continue; }
961         -re ".* 366      12345678" { set x [expr $x+1]; exp_continue; }
962         -re ".* 367 098a 015DEB12" { set x [expr $x+1]; exp_continue; }
963         -re ".* 367      12345678" { set x [expr $x+1]; exp_continue; }
964         -re ".* 368 0992 015DFB12" { set x [expr $x+1]; exp_continue; }
965         -re ".* 368      12345678" { set x [expr $x+1]; exp_continue; }
966         -re ".* 369 099a 015D4012" { set x [expr $x+1]; exp_continue; }
967         -re ".* 369      1234" { set x [expr $x+1]; exp_continue; }
968         -re ".* 370 09a0 015D4812" { set x [expr $x+1]; exp_continue; }
969         -re ".* 370      12345678" { set x [expr $x+1]; exp_continue; }
970         -re ".* 371              " {
971             if [expr $x == 26] then {
972                 pass "$testname: mov.w #0x12:8, ..."
973             } else {
974                 fail "$testname: mov.w #0x12:8, ... ($x)"
975             }
976         }
977         default { fail "$testname: mov.w #0x12:8, ... ($x)" }
978     }
979
980     set x 0
981     expect {
982         -re ".* 372 09a8 6BD11234" { set x [expr $x+1]; exp_continue; }
983         -re ".* 373 09ac 6BF11234" { set x [expr $x+1]; exp_continue; }
984         -re ".* 373      5678" { set x [expr $x+1]; exp_continue; }
985         -re ".* 374              " {
986             if [expr $x == 3] then {
987                 pass "$testname: mov.w #0x1:4, ..."
988             } else {
989                 fail "$testname: mov.w #0x1:4, ... ($x)"
990             }
991         }
992         default { fail "$testname: mov.w #0x1:4, ... ($x)" }
993     }
994
995     set x 0
996     expect {
997         -re ".* 375 09b2 0D21" { set x [expr $x+1]; exp_continue; }
998         -re ".* 376              " {
999             if [expr $x == 1] then {
1000                 pass "$testname: mov.w r2, r1"
1001             } else {
1002                 fail "$testname: mov.w r2, r1 ($x)"
1003             }
1004         }
1005         default { fail "$testname: mov.w r2, r1 ($x)" }
1006     }
1007
1008     set x 0
1009     expect {
1010         -re ".* 377 09b4 6992" { set x [expr $x+1]; exp_continue; }
1011         -re ".* 378 09b6 01516992" { set x [expr $x+1]; exp_continue; }
1012         -re ".* 379 09ba 01536D92" { set x [expr $x+1]; exp_continue; }
1013         -re ".* 380 09be 6D92" { set x [expr $x+1]; exp_continue; }
1014         -re ".* 381 09c0 01526D92" { set x [expr $x+1]; exp_continue; }
1015         -re ".* 382 09c4 01516D92" { set x [expr $x+1]; exp_continue; }
1016         -re ".* 383 09c8 6F921234" { set x [expr $x+1]; exp_continue; }
1017         -re ".* 384 09cc 78106BA2" { set x [expr $x+1]; exp_continue; }
1018         -re ".* 384      12345678" { set x [expr $x+1]; exp_continue; }
1019         -re ".* 385 09d4 01516FB2" { set x [expr $x+1]; exp_continue; }
1020         -re ".* 385      1234" { set x [expr $x+1]; exp_continue; }
1021         -re ".* 386 09da 01526FB2" { set x [expr $x+1]; exp_continue; }
1022         -re ".* 386      1234" { set x [expr $x+1]; exp_continue; }
1023         -re ".* 387 09e0 01536FB2" { set x [expr $x+1]; exp_continue; }
1024         -re ".* 387      1234" { set x [expr $x+1]; exp_continue; }
1025         -re ".* 388 09e6 78316BA2" { set x [expr $x+1]; exp_continue; }
1026         -re ".* 388      12345678" { set x [expr $x+1]; exp_continue; }
1027         -re ".* 389 09ee 78326BA2" { set x [expr $x+1]; exp_continue; }
1028         -re ".* 389      12345678" { set x [expr $x+1]; exp_continue; }
1029         -re ".* 390 09f6 78336BA2" { set x [expr $x+1]; exp_continue; }
1030         -re ".* 390      12345678" { set x [expr $x+1]; exp_continue; }
1031         -re ".* 391 09fe 6B821234" { set x [expr $x+1]; exp_continue; }
1032         -re ".* 392 0a02 6BA21234" { set x [expr $x+1]; exp_continue; }
1033         -re ".* 392      5678" { set x [expr $x+1]; exp_continue; }
1034         -re ".* 393              " {
1035             if [expr $x == 24] then {
1036                 pass "$testname: mov.w r2, ..."
1037             } else {
1038                 fail "$testname: mov.w r2, ... ($x)"
1039             }
1040         }
1041         default { fail "$testname: mov.w r2, ... ($x)" }
1042     }
1043
1044     set x 0
1045     expect {
1046         -re ".* 394 0a08 6921" { set x [expr $x+1]; exp_continue; }
1047         -re ".* 395 0a0a 01516921" { set x [expr $x+1]; exp_continue; }
1048         -re ".* 396 0a0e 6D21" { set x [expr $x+1]; exp_continue; }
1049         -re ".* 397 0a10 01536D21" { set x [expr $x+1]; exp_continue; }
1050         -re ".* 398 0a14 01516D21" { set x [expr $x+1]; exp_continue; }
1051         -re ".* 399 0a18 01526D21" { set x [expr $x+1]; exp_continue; }
1052         -re ".* 400 0a1c 6F111234" { set x [expr $x+1]; exp_continue; }
1053         -re ".* 401 0a20 78106B21" { set x [expr $x+1]; exp_continue; }
1054         -re ".* 401      12345678" { set x [expr $x+1]; exp_continue; }
1055         -re ".* 402 0a28 01516F31" { set x [expr $x+1]; exp_continue; }
1056         -re ".* 402      1234" { set x [expr $x+1]; exp_continue; }
1057         -re ".* 403 0a2e 01526F31" { set x [expr $x+1]; exp_continue; }
1058         -re ".* 403      1234" { set x [expr $x+1]; exp_continue; }
1059         -re ".* 404 0a34 01536F31" { set x [expr $x+1]; exp_continue; }
1060         -re ".* 404      1234" { set x [expr $x+1]; exp_continue; }
1061         -re ".* 405 0a3a 78316B21" { set x [expr $x+1]; exp_continue; }
1062         -re ".* 405      12345678" { set x [expr $x+1]; exp_continue; }
1063         -re ".* 406 0a42 78326B21" { set x [expr $x+1]; exp_continue; }
1064         -re ".* 406      12345678" { set x [expr $x+1]; exp_continue; }
1065         -re ".* 407 0a4a 78336B21" { set x [expr $x+1]; exp_continue; }
1066         -re ".* 407      12345678" { set x [expr $x+1]; exp_continue; }
1067         -re ".* 408 0a52 6B011234" { set x [expr $x+1]; exp_continue; }
1068         -re ".* 409 0a56 6B211234" { set x [expr $x+1]; exp_continue; }
1069         -re ".* 409      5678" { set x [expr $x+1]; exp_continue; }
1070         -re ".* 410              " {
1071             if [expr $x == 24] then {
1072                 pass "$testname: mov.w ..., r1"
1073             } else {
1074                 fail "$testname: mov.w ..., r1 ($x)"
1075             }
1076         }
1077         default { fail "$testname: mov.w ..., r1 ($x)" }
1078     }
1079
1080     set x 0
1081     expect {
1082         -re ".* 411 0a5c 01580201" { set x [expr $x+1]; exp_continue; }
1083         -re ".* 412 0a60 01580211" { set x [expr $x+1]; exp_continue; }
1084         -re ".* 413 0a64 01580281" { set x [expr $x+1]; exp_continue; }
1085         -re ".* 414 0a68 015802B1" { set x [expr $x+1]; exp_continue; }
1086         -re ".* 415 0a6c 01580291" { set x [expr $x+1]; exp_continue; }
1087         -re ".* 416 0a70 015802A1" { set x [expr $x+1]; exp_continue; }
1088         -re ".* 417 0a74 015802C1" { set x [expr $x+1]; exp_continue; }
1089         -re ".* 417      1234" { set x [expr $x+1]; exp_continue; }
1090         -re ".* 418 0a7a 015802C9" { set x [expr $x+1]; exp_continue; }
1091         -re ".* 418      12345678" { set x [expr $x+1]; exp_continue; }
1092         -re ".* 419 0a82 015802D3" { set x [expr $x+1]; exp_continue; }
1093         -re ".* 419      1234" { set x [expr $x+1]; exp_continue; }
1094         -re ".* 420 0a88 015802E3" { set x [expr $x+1]; exp_continue; }
1095         -re ".* 420      1234" { set x [expr $x+1]; exp_continue; }
1096         -re ".* 421 0a8e 015802F3" { set x [expr $x+1]; exp_continue; }
1097         -re ".* 421      1234" { set x [expr $x+1]; exp_continue; }
1098         -re ".* 422 0a94 015802DB" { set x [expr $x+1]; exp_continue; }
1099         -re ".* 422      12345678" { set x [expr $x+1]; exp_continue; }
1100         -re ".* 423 0a9c 015802EB" { set x [expr $x+1]; exp_continue; }
1101         -re ".* 423      12345678" { set x [expr $x+1]; exp_continue; }
1102         -re ".* 424 0aa4 015802FB" { set x [expr $x+1]; exp_continue; }
1103         -re ".* 424      12345678" { set x [expr $x+1]; exp_continue; }
1104         -re ".* 425 0aac 01580240" { set x [expr $x+1]; exp_continue; }
1105         -re ".* 425      1234" { set x [expr $x+1]; exp_continue; }
1106         -re ".* 426 0ab2 01580248" { set x [expr $x+1]; exp_continue; }
1107         -re ".* 426      12345678" { set x [expr $x+1]; exp_continue; }
1108         -re ".* 427              " {
1109             if [expr $x == 26] then {
1110                 pass "$testname: mov.w @er2, ..."
1111             } else {
1112                 fail "$testname: mov.w @er2, ... ($x)"
1113             }
1114         }
1115         default { fail "$testname: mov.w @er2, ... ($x)" }
1116     }
1117
1118     set x 0
1119     expect {
1120         -re ".* 428 0aba 01581201" { set x [expr $x+1]; exp_continue; }
1121         -re ".* 429 0abe 01581211" { set x [expr $x+1]; exp_continue; }
1122         -re ".* 430 0ac2 01581281" { set x [expr $x+1]; exp_continue; }
1123         -re ".* 431 0ac6 015812B1" { set x [expr $x+1]; exp_continue; }
1124         -re ".* 432 0aca 01581291" { set x [expr $x+1]; exp_continue; }
1125         -re ".* 433 0ace 015812A1" { set x [expr $x+1]; exp_continue; }
1126         -re ".* 434 0ad2 015812C1" { set x [expr $x+1]; exp_continue; }
1127         -re ".* 434      1234" { set x [expr $x+1]; exp_continue; }
1128         -re ".* 435 0ad8 015812C9" { set x [expr $x+1]; exp_continue; }
1129         -re ".* 435      12345678" { set x [expr $x+1]; exp_continue; }
1130         -re ".* 436 0ae0 015812D3" { set x [expr $x+1]; exp_continue; }
1131         -re ".* 436      1234" { set x [expr $x+1]; exp_continue; }
1132         -re ".* 437 0ae6 015812E3" { set x [expr $x+1]; exp_continue; }
1133         -re ".* 437      1234" { set x [expr $x+1]; exp_continue; }
1134         -re ".* 438 0aec 015812F3" { set x [expr $x+1]; exp_continue; }
1135         -re ".* 438      1234" { set x [expr $x+1]; exp_continue; }
1136         -re ".* 439 0af2 015812DB" { set x [expr $x+1]; exp_continue; }
1137         -re ".* 439      12345678" { set x [expr $x+1]; exp_continue; }
1138         -re ".* 440 0afa 015812EB" { set x [expr $x+1]; exp_continue; }
1139         -re ".* 440      12345678" { set x [expr $x+1]; exp_continue; }
1140         -re ".* 441 0b02 015812FB" { set x [expr $x+1]; exp_continue; }
1141         -re ".* 441      12345678" { set x [expr $x+1]; exp_continue; }
1142         -re ".* 442 0b0a 01581240" { set x [expr $x+1]; exp_continue; }
1143         -re ".* 442      1234" { set x [expr $x+1]; exp_continue; }
1144         -re ".* 443 0b10 01581248" { set x [expr $x+1]; exp_continue; }
1145         -re ".* 443      12345678" { set x [expr $x+1]; exp_continue; }
1146         -re ".* 444              " {
1147             if [expr $x == 26] then {
1148                 pass "$testname: mov.w @(0x2:2,er2), ..."
1149             } else {
1150                 fail "$testname: mov.w @(0x2:2,er2), ... ($x)"
1151             }
1152         }
1153         default { fail "$testname: mov.w @(0x2:2,er2), ... ($x)" }
1154     }
1155
1156     set x 0
1157     expect {
1158         -re ".* 445 0b18 0158B201" { set x [expr $x+1]; exp_continue; }
1159         -re ".* 446 0b1c 0158B211" { set x [expr $x+1]; exp_continue; }
1160         -re ".* 447 0b20 0158B281" { set x [expr $x+1]; exp_continue; }
1161         -re ".* 448 0b24 0158B2B1" { set x [expr $x+1]; exp_continue; }
1162         -re ".* 449 0b28 0158B291" { set x [expr $x+1]; exp_continue; }
1163         -re ".* 450 0b2c 0158B2A1" { set x [expr $x+1]; exp_continue; }
1164         -re ".* 451 0b30 0158B2C1" { set x [expr $x+1]; exp_continue; }
1165         -re ".* 451      1234" { set x [expr $x+1]; exp_continue; }
1166         -re ".* 452 0b36 0158B2C9" { set x [expr $x+1]; exp_continue; }
1167         -re ".* 452      12345678" { set x [expr $x+1]; exp_continue; }
1168         -re ".* 453 0b3e 0158B2D3" { set x [expr $x+1]; exp_continue; }
1169         -re ".* 453      1234" { set x [expr $x+1]; exp_continue; }
1170         -re ".* 454 0b44 0158B2E3" { set x [expr $x+1]; exp_continue; }
1171         -re ".* 454      1234" { set x [expr $x+1]; exp_continue; }
1172         -re ".* 455 0b4a 0158B2F3" { set x [expr $x+1]; exp_continue; }
1173         -re ".* 455      1234" { set x [expr $x+1]; exp_continue; }
1174         -re ".* 456 0b50 0158B2DB" { set x [expr $x+1]; exp_continue; }
1175         -re ".* 456      12345678" { set x [expr $x+1]; exp_continue; }
1176         -re ".* 457 0b58 0158B2EB" { set x [expr $x+1]; exp_continue; }
1177         -re ".* 457      12345678" { set x [expr $x+1]; exp_continue; }
1178         -re ".* 458 0b60 0158B2FB" { set x [expr $x+1]; exp_continue; }
1179         -re ".* 458      12345678" { set x [expr $x+1]; exp_continue; }
1180         -re ".* 459 0b68 0158B240" { set x [expr $x+1]; exp_continue; }
1181         -re ".* 459      1234" { set x [expr $x+1]; exp_continue; }
1182         -re ".* 460 0b6e 0158B248" { set x [expr $x+1]; exp_continue; }
1183         -re ".* 460      12345678" { set x [expr $x+1]; exp_continue; }
1184         -re ".* 461              " {
1185             if [expr $x == 26] then {
1186                 pass "$testname: mov.w @-er2, ..."
1187             } else {
1188                 fail "$testname: mov.w @-er2, ... ($x)"
1189             }
1190         }
1191         default { fail "$testname: mov.w @-er2, ... ($x)" }
1192     }
1193
1194     set x 0
1195     expect {
1196         -re ".* 462 0b76 01588201" { set x [expr $x+1]; exp_continue; }
1197         -re ".* 463 0b7a 01588211" { set x [expr $x+1]; exp_continue; }
1198         -re ".* 464 0b7e 01588281" { set x [expr $x+1]; exp_continue; }
1199         -re ".* 465 0b82 015882B1" { set x [expr $x+1]; exp_continue; }
1200         -re ".* 466 0b86 01588291" { set x [expr $x+1]; exp_continue; }
1201         -re ".* 467 0b8a 015882A1" { set x [expr $x+1]; exp_continue; }
1202         -re ".* 468 0b8e 015882C1" { set x [expr $x+1]; exp_continue; }
1203         -re ".* 468      1234" { set x [expr $x+1]; exp_continue; }
1204         -re ".* 469 0b94 015882C9" { set x [expr $x+1]; exp_continue; }
1205         -re ".* 469      12345678" { set x [expr $x+1]; exp_continue; }
1206         -re ".* 470 0b9c 015882D3" { set x [expr $x+1]; exp_continue; }
1207         -re ".* 470      1234" { set x [expr $x+1]; exp_continue; }
1208         -re ".* 471 0ba2 015882E3" { set x [expr $x+1]; exp_continue; }
1209         -re ".* 471      1234" { set x [expr $x+1]; exp_continue; }
1210         -re ".* 472 0ba8 015882F3" { set x [expr $x+1]; exp_continue; }
1211         -re ".* 472      1234" { set x [expr $x+1]; exp_continue; }
1212         -re ".* 473 0bae 015882DB" { set x [expr $x+1]; exp_continue; }
1213         -re ".* 473      12345678" { set x [expr $x+1]; exp_continue; }
1214         -re ".* 474 0bb6 015882EB" { set x [expr $x+1]; exp_continue; }
1215         -re ".* 474      12345678" { set x [expr $x+1]; exp_continue; }
1216         -re ".* 475 0bbe 015882FB" { set x [expr $x+1]; exp_continue; }
1217         -re ".* 475      12345678" { set x [expr $x+1]; exp_continue; }
1218         -re ".* 476 0bc6 01588240" { set x [expr $x+1]; exp_continue; }
1219         -re ".* 476      1234" { set x [expr $x+1]; exp_continue; }
1220         -re ".* 477 0bcc 01588248" { set x [expr $x+1]; exp_continue; }
1221         -re ".* 477      12345678" { set x [expr $x+1]; exp_continue; }
1222         -re ".* 478              " {
1223             if [expr $x == 26] then {
1224                 pass "$testname: mov.w @er2+, ..."
1225             } else {
1226                 fail "$testname: mov.w @er2+, ... ($x)"
1227             }
1228         }
1229         default { fail "$testname: mov.w @er2+, ... ($x)" }
1230     }
1231
1232     set x 0
1233     expect {
1234         -re ".* 479 0bd4 0158A201" { set x [expr $x+1]; exp_continue; }
1235         -re ".* 480 0bd8 0158A211" { set x [expr $x+1]; exp_continue; }
1236         -re ".* 481 0bdc 0158A281" { set x [expr $x+1]; exp_continue; }
1237         -re ".* 482 0be0 0158A2B1" { set x [expr $x+1]; exp_continue; }
1238         -re ".* 483 0be4 0158A291" { set x [expr $x+1]; exp_continue; }
1239         -re ".* 484 0be8 0158A2A1" { set x [expr $x+1]; exp_continue; }
1240         -re ".* 485 0bec 0158A2C1" { set x [expr $x+1]; exp_continue; }
1241         -re ".* 485      1234" { set x [expr $x+1]; exp_continue; }
1242         -re ".* 486 0bf2 0158A2C9" { set x [expr $x+1]; exp_continue; }
1243         -re ".* 486      12345678" { set x [expr $x+1]; exp_continue; }
1244         -re ".* 487 0bfa 0158A2D3" { set x [expr $x+1]; exp_continue; }
1245         -re ".* 487      1234" { set x [expr $x+1]; exp_continue; }
1246         -re ".* 488 0c00 0158A2E3" { set x [expr $x+1]; exp_continue; }
1247         -re ".* 488      1234" { set x [expr $x+1]; exp_continue; }
1248         -re ".* 489 0c06 0158A2F3" { set x [expr $x+1]; exp_continue; }
1249         -re ".* 489      1234" { set x [expr $x+1]; exp_continue; }
1250         -re ".* 490 0c0c 0158A2DB" { set x [expr $x+1]; exp_continue; }
1251         -re ".* 490      12345678" { set x [expr $x+1]; exp_continue; }
1252         -re ".* 491 0c14 0158A2EB" { set x [expr $x+1]; exp_continue; }
1253         -re ".* 491      12345678" { set x [expr $x+1]; exp_continue; }
1254         -re ".* 492 0c1c 0158A2FB" { set x [expr $x+1]; exp_continue; }
1255         -re ".* 492      12345678" { set x [expr $x+1]; exp_continue; }
1256         -re ".* 493 0c24 0158A240" { set x [expr $x+1]; exp_continue; }
1257         -re ".* 493      1234" { set x [expr $x+1]; exp_continue; }
1258         -re ".* 494 0c2a 0158A248" { set x [expr $x+1]; exp_continue; }
1259         -re ".* 494      12345678" { set x [expr $x+1]; exp_continue; }
1260         -re ".* 495              " {
1261             if [expr $x == 26] then {
1262                 pass "$testname: mov.w @er2-, ..."
1263             } else {
1264                 fail "$testname: mov.w @er2-, ... ($x)"
1265             }
1266         }
1267         default { fail "$testname: mov.w @er2-, ... ($x)" }
1268     }
1269
1270     set x 0
1271     expect {
1272         -re ".* 496 0c32 01589201" { set x [expr $x+1]; exp_continue; }
1273         -re ".* 497 0c36 01589211" { set x [expr $x+1]; exp_continue; }
1274         -re ".* 498 0c3a 01589281" { set x [expr $x+1]; exp_continue; }
1275         -re ".* 499 0c3e 015892B1" { set x [expr $x+1]; exp_continue; }
1276         -re ".* 500 0c42 01589291" { set x [expr $x+1]; exp_continue; }
1277         -re ".* 501 0c46 015892A1" { set x [expr $x+1]; exp_continue; }
1278         -re ".* 502 0c4a 015892C1" { set x [expr $x+1]; exp_continue; }
1279         -re ".* 502      1234" { set x [expr $x+1]; exp_continue; }
1280         -re ".* 503 0c50 015892C9" { set x [expr $x+1]; exp_continue; }
1281         -re ".* 503      12345678" { set x [expr $x+1]; exp_continue; }
1282         -re ".* 504 0c58 015892D3" { set x [expr $x+1]; exp_continue; }
1283         -re ".* 504      1234" { set x [expr $x+1]; exp_continue; }
1284         -re ".* 505 0c5e 015892E3" { set x [expr $x+1]; exp_continue; }
1285         -re ".* 505      1234" { set x [expr $x+1]; exp_continue; }
1286         -re ".* 506 0c64 015892F3" { set x [expr $x+1]; exp_continue; }
1287         -re ".* 506      1234" { set x [expr $x+1]; exp_continue; }
1288         -re ".* 507 0c6a 015892DB" { set x [expr $x+1]; exp_continue; }
1289         -re ".* 507      12345678" { set x [expr $x+1]; exp_continue; }
1290         -re ".* 508 0c72 015892EB" { set x [expr $x+1]; exp_continue; }
1291         -re ".* 508      12345678" { set x [expr $x+1]; exp_continue; }
1292         -re ".* 509 0c7a 015892FB" { set x [expr $x+1]; exp_continue; }
1293         -re ".* 509      12345678" { set x [expr $x+1]; exp_continue; }
1294         -re ".* 510 0c82 01589240" { set x [expr $x+1]; exp_continue; }
1295         -re ".* 510      1234" { set x [expr $x+1]; exp_continue; }
1296         -re ".* 511 0c88 01589248" { set x [expr $x+1]; exp_continue; }
1297         -re ".* 511      12345678" { set x [expr $x+1]; exp_continue; }
1298         -re ".* 512              " {
1299             if [expr $x == 26] then {
1300                 pass "$testname: mov.w @+er2, ..."
1301             } else {
1302                 fail "$testname: mov.w @+er2, ... ($x)"
1303             }
1304         }
1305         default { fail "$testname: mov.w @+er2, ... ($x)" }
1306     }
1307
1308     set x 0
1309     expect {
1310         -re ".* 513 0c90 0158C201" { set x [expr $x+1]; exp_continue; }
1311         -re ".* 513      1234" { set x [expr $x+1]; exp_continue; }
1312         -re ".* 514 0c96 0158C211" { set x [expr $x+1]; exp_continue; }
1313         -re ".* 514      1234" { set x [expr $x+1]; exp_continue; }
1314         -re ".* 515 0c9c 0158C281" { set x [expr $x+1]; exp_continue; }
1315         -re ".* 515      1234" { set x [expr $x+1]; exp_continue; }
1316         -re ".* 516 0ca2 0158C2B1" { set x [expr $x+1]; exp_continue; }
1317         -re ".* 516      1234" { set x [expr $x+1]; exp_continue; }
1318         -re ".* 517 0ca8 0158C291" { set x [expr $x+1]; exp_continue; }
1319         -re ".* 517      1234" { set x [expr $x+1]; exp_continue; }
1320         -re ".* 518 0cae 0158C2A1" { set x [expr $x+1]; exp_continue; }
1321         -re ".* 518      1234" { set x [expr $x+1]; exp_continue; }
1322         -re ".* 519 0cb4 0158C2C1" { set x [expr $x+1]; exp_continue; }
1323         -re ".* 519      12349ABC" { set x [expr $x+1]; exp_continue; }
1324         -re ".* 520 0cbc 0158C2C9" { set x [expr $x+1]; exp_continue; }
1325         -re ".* 520      12349ABC" { set x [expr $x+1]; exp_continue; }
1326         -re ".* 520      DEF0" { set x [expr $x+1]; exp_continue; }
1327         -re ".* 521 0cc6 0158C2D3" { set x [expr $x+1]; exp_continue; }
1328         -re ".* 521      12349ABC" { set x [expr $x+1]; exp_continue; }
1329         -re ".* 522 0cce 0158C2E3" { set x [expr $x+1]; exp_continue; }
1330         -re ".* 522      12349ABC" { set x [expr $x+1]; exp_continue; }
1331         -re ".* 523 0cd6 0158C2F3" { set x [expr $x+1]; exp_continue; }
1332         -re ".* 523      12349ABC" { set x [expr $x+1]; exp_continue; }
1333         -re ".* 524 0cde 0158C2DB" { set x [expr $x+1]; exp_continue; }
1334         -re ".* 524      12349ABC" { set x [expr $x+1]; exp_continue; }
1335         -re ".* 524      DEF0" { set x [expr $x+1]; exp_continue; }
1336         -re ".* 525 0ce8 0158C2EB" { set x [expr $x+1]; exp_continue; }
1337         -re ".* 525      12349ABC" { set x [expr $x+1]; exp_continue; }
1338         -re ".* 525      DEF0" { set x [expr $x+1]; exp_continue; }
1339         -re ".* 526 0cf2 0158C2FB" { set x [expr $x+1]; exp_continue; }
1340         -re ".* 526      12349ABC" { set x [expr $x+1]; exp_continue; }
1341         -re ".* 526      DEF0" { set x [expr $x+1]; exp_continue; }
1342         -re ".* 527 0cfc 0158C240" { set x [expr $x+1]; exp_continue; }
1343         -re ".* 527      12349ABC" { set x [expr $x+1]; exp_continue; }
1344         -re ".* 528 0d04 0158C248" { set x [expr $x+1]; exp_continue; }
1345         -re ".* 528      12349ABC" { set x [expr $x+1]; exp_continue; }
1346         -re ".* 528      DEF0" { set x [expr $x+1]; exp_continue; }
1347         -re ".* 529              " {
1348             if [expr $x == 37] then {
1349                 pass "$testname: mov.w @(0x1234:16,er2), ..."
1350             } else {
1351                 fail "$testname: mov.w @(0x1234:16,er2), ... ($x)"
1352             }
1353         }
1354         default { fail "$testname: mov.w @(0x1234:16,er2), ... ($x)" }
1355     }
1356
1357     set x 0
1358     expect {
1359         -re ".* 530 0d0e 0158CA01" { set x [expr $x+1]; exp_continue; }
1360         -re ".* 530      12345678" { set x [expr $x+1]; exp_continue; }
1361         -re ".* 531 0d16 0158CA11" { set x [expr $x+1]; exp_continue; }
1362         -re ".* 531      12345678" { set x [expr $x+1]; exp_continue; }
1363         -re ".* 532 0d1e 0158CA81" { set x [expr $x+1]; exp_continue; }
1364         -re ".* 532      12345678" { set x [expr $x+1]; exp_continue; }
1365         -re ".* 533 0d26 0158CAB1" { set x [expr $x+1]; exp_continue; }
1366         -re ".* 533      12345678" { set x [expr $x+1]; exp_continue; }
1367         -re ".* 534 0d2e 0158CA91" { set x [expr $x+1]; exp_continue; }
1368         -re ".* 534      12345678" { set x [expr $x+1]; exp_continue; }
1369         -re ".* 535 0d36 0158CAA1" { set x [expr $x+1]; exp_continue; }
1370         -re ".* 535      12345678" { set x [expr $x+1]; exp_continue; }
1371         -re ".* 536 0d3e 0158CAC1" { set x [expr $x+1]; exp_continue; }
1372         -re ".* 536      12345678" { set x [expr $x+1]; exp_continue; }
1373         -re ".* 536      9ABC" { set x [expr $x+1]; exp_continue; }
1374         -re ".* 537 0d48 0158CAC9" { set x [expr $x+1]; exp_continue; }
1375         -re ".* 537      12345678" { set x [expr $x+1]; exp_continue; }
1376         -re ".* 537      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1377         -re ".* 538 0d54 0158CAD3" { set x [expr $x+1]; exp_continue; }
1378         -re ".* 538      12345678" { set x [expr $x+1]; exp_continue; }
1379         -re ".* 538      9ABC" { set x [expr $x+1]; exp_continue; }
1380         -re ".* 539 0d5e 0158CAE3" { set x [expr $x+1]; exp_continue; }
1381         -re ".* 539      12345678" { set x [expr $x+1]; exp_continue; }
1382         -re ".* 539      9ABC" { set x [expr $x+1]; exp_continue; }
1383         -re ".* 540 0d68 0158CAF3" { set x [expr $x+1]; exp_continue; }
1384         -re ".* 540      12345678" { set x [expr $x+1]; exp_continue; }
1385         -re ".* 540      9ABC" { set x [expr $x+1]; exp_continue; }
1386         -re ".* 541 0d72 0158CADB" { set x [expr $x+1]; exp_continue; }
1387         -re ".* 541      12345678" { set x [expr $x+1]; exp_continue; }
1388         -re ".* 541      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1389         -re ".* 542 0d7e 0158CAEB" { set x [expr $x+1]; exp_continue; }
1390         -re ".* 542      12345678" { set x [expr $x+1]; exp_continue; }
1391         -re ".* 542      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1392         -re ".* 543 0d8a 0158CAFB" { set x [expr $x+1]; exp_continue; }
1393         -re ".* 543      12345678" { set x [expr $x+1]; exp_continue; }
1394         -re ".* 543      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1395         -re ".* 544 0d96 0158CA40" { set x [expr $x+1]; exp_continue; }
1396         -re ".* 544      12345678" { set x [expr $x+1]; exp_continue; }
1397         -re ".* 544      9ABC" { set x [expr $x+1]; exp_continue; }
1398         -re ".* 545 0da0 0158CA48" { set x [expr $x+1]; exp_continue; }
1399         -re ".* 545      12345678" { set x [expr $x+1]; exp_continue; }
1400         -re ".* 545      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1401         -re ".* 546              " {
1402             if [expr $x == 42] then {
1403                 pass "$testname: mov.w @(0x12345678:32,er2), ..."
1404             } else {
1405                 fail "$testname: mov.w @(0x12345678:32,er2), ... ($x)"
1406             }
1407         }
1408         default { fail "$testname: mov.w @(0x12345678:32,er2), ... ($x)" }
1409     }
1410
1411     set x 0
1412     expect {
1413         -re ".* 547 0dac 0158D301" { set x [expr $x+1]; exp_continue; }
1414         -re ".* 547      1234" { set x [expr $x+1]; exp_continue; }
1415         -re ".* 548 0db2 0158D311" { set x [expr $x+1]; exp_continue; }
1416         -re ".* 548      1234" { set x [expr $x+1]; exp_continue; }
1417         -re ".* 549 0db8 0158D381" { set x [expr $x+1]; exp_continue; }
1418         -re ".* 549      1234" { set x [expr $x+1]; exp_continue; }
1419         -re ".* 550 0dbe 0158D3B1" { set x [expr $x+1]; exp_continue; }
1420         -re ".* 550      1234" { set x [expr $x+1]; exp_continue; }
1421         -re ".* 551 0dc4 0158D391" { set x [expr $x+1]; exp_continue; }
1422         -re ".* 551      1234" { set x [expr $x+1]; exp_continue; }
1423         -re ".* 552 0dca 0158D3A1" { set x [expr $x+1]; exp_continue; }
1424         -re ".* 552      1234" { set x [expr $x+1]; exp_continue; }
1425         -re ".* 553 0dd0 0158D3C1" { set x [expr $x+1]; exp_continue; }
1426         -re ".* 553      12349ABC" { set x [expr $x+1]; exp_continue; }
1427         -re ".* 554 0dd8 0158D3C9" { set x [expr $x+1]; exp_continue; }
1428         -re ".* 554      12349ABC" { set x [expr $x+1]; exp_continue; }
1429         -re ".* 554      DEF0" { set x [expr $x+1]; exp_continue; }
1430         -re ".* 555 0de2 0158D3D3" { set x [expr $x+1]; exp_continue; }
1431         -re ".* 555      12349ABC" { set x [expr $x+1]; exp_continue; }
1432         -re ".* 556 0dea 0158D3E3" { set x [expr $x+1]; exp_continue; }
1433         -re ".* 556      12349ABC" { set x [expr $x+1]; exp_continue; }
1434         -re ".* 557 0df2 0158D3F3" { set x [expr $x+1]; exp_continue; }
1435         -re ".* 557      12349ABC" { set x [expr $x+1]; exp_continue; }
1436         -re ".* 558 0dfa 0158D3DB" { set x [expr $x+1]; exp_continue; }
1437         -re ".* 558      12349ABC" { set x [expr $x+1]; exp_continue; }
1438         -re ".* 558      DEF0" { set x [expr $x+1]; exp_continue; }
1439         -re ".* 559 0e04 0158D3EB" { set x [expr $x+1]; exp_continue; }
1440         -re ".* 559      12349ABC" { set x [expr $x+1]; exp_continue; }
1441         -re ".* 559      DEF0" { set x [expr $x+1]; exp_continue; }
1442         -re ".* 560 0e0e 0158D3FB" { set x [expr $x+1]; exp_continue; }
1443         -re ".* 560      12349ABC" { set x [expr $x+1]; exp_continue; }
1444         -re ".* 560      DEF0" { set x [expr $x+1]; exp_continue; }
1445         -re ".* 561 0e18 0158D340" { set x [expr $x+1]; exp_continue; }
1446         -re ".* 561      12349ABC" { set x [expr $x+1]; exp_continue; }
1447         -re ".* 562 0e20 0158D348" { set x [expr $x+1]; exp_continue; }
1448         -re ".* 562      12349ABC" { set x [expr $x+1]; exp_continue; }
1449         -re ".* 562      DEF0" { set x [expr $x+1]; exp_continue; }
1450         -re ".* 563              " {
1451             if [expr $x == 37] then {
1452                 pass "$testname: mov.w @(0x1234:16,r3l.b), ..."
1453             } else {
1454                 fail "$testname: mov.w @(0x1234:16,r3l.b), ... ($x)"
1455             }
1456         }
1457         default { fail "$testname: mov.w @(0x1234:16,r3l.b), ... ($x)" }
1458     }
1459
1460     set x 0
1461     expect {
1462         -re ".* 564 0e2a 0158E301" { set x [expr $x+1]; exp_continue; }
1463         -re ".* 564      1234" { set x [expr $x+1]; exp_continue; }
1464         -re ".* 565 0e30 0158E311" { set x [expr $x+1]; exp_continue; }
1465         -re ".* 565      1234" { set x [expr $x+1]; exp_continue; }
1466         -re ".* 566 0e36 0158E381" { set x [expr $x+1]; exp_continue; }
1467         -re ".* 566      1234" { set x [expr $x+1]; exp_continue; }
1468         -re ".* 567 0e3c 0158E3B1" { set x [expr $x+1]; exp_continue; }
1469         -re ".* 567      1234" { set x [expr $x+1]; exp_continue; }
1470         -re ".* 568 0e42 0158E391" { set x [expr $x+1]; exp_continue; }
1471         -re ".* 568      1234" { set x [expr $x+1]; exp_continue; }
1472         -re ".* 569 0e48 0158E3A1" { set x [expr $x+1]; exp_continue; }
1473         -re ".* 569      1234" { set x [expr $x+1]; exp_continue; }
1474         -re ".* 570 0e4e 0158E3C1" { set x [expr $x+1]; exp_continue; }
1475         -re ".* 570      12349ABC" { set x [expr $x+1]; exp_continue; }
1476         -re ".* 571 0e56 0158E3C9" { set x [expr $x+1]; exp_continue; }
1477         -re ".* 571      12349ABC" { set x [expr $x+1]; exp_continue; }
1478         -re ".* 571      DEF0" { set x [expr $x+1]; exp_continue; }
1479         -re ".* 572 0e60 0158E3D3" { set x [expr $x+1]; exp_continue; }
1480         -re ".* 572      12349ABC" { set x [expr $x+1]; exp_continue; }
1481         -re ".* 573 0e68 0158E3E3" { set x [expr $x+1]; exp_continue; }
1482         -re ".* 573      12349ABC" { set x [expr $x+1]; exp_continue; }
1483         -re ".* 574 0e70 0158E3F3" { set x [expr $x+1]; exp_continue; }
1484         -re ".* 574      12349ABC" { set x [expr $x+1]; exp_continue; }
1485         -re ".* 575 0e78 0158E3DB" { set x [expr $x+1]; exp_continue; }
1486         -re ".* 575      12349ABC" { set x [expr $x+1]; exp_continue; }
1487         -re ".* 575      DEF0" { set x [expr $x+1]; exp_continue; }
1488         -re ".* 576 0e82 0158E3EB" { set x [expr $x+1]; exp_continue; }
1489         -re ".* 576      12349ABC" { set x [expr $x+1]; exp_continue; }
1490         -re ".* 576      DEF0" { set x [expr $x+1]; exp_continue; }
1491         -re ".* 577 0e8c 0158E3FB" { set x [expr $x+1]; exp_continue; }
1492         -re ".* 577      12349ABC" { set x [expr $x+1]; exp_continue; }
1493         -re ".* 577      DEF0" { set x [expr $x+1]; exp_continue; }
1494         -re ".* 578 0e96 0158E340" { set x [expr $x+1]; exp_continue; }
1495         -re ".* 578      12349ABC" { set x [expr $x+1]; exp_continue; }
1496         -re ".* 579 0e9e 0158E348" { set x [expr $x+1]; exp_continue; }
1497         -re ".* 579      12349ABC" { set x [expr $x+1]; exp_continue; }
1498         -re ".* 579      DEF0" { set x [expr $x+1]; exp_continue; }
1499         -re ".* 580              " {
1500             if [expr $x == 37] then {
1501                 pass "$testname: mov.w @(0x1234:16,r3.w), ..."
1502             } else {
1503                 fail "$testname: mov.w @(0x1234:16,r3.w), ... ($x)"
1504             }
1505         }
1506         default { fail "$testname: mov.w @(0x1234:16,r3.w), ... ($x)" }
1507     }
1508
1509     set x 0
1510     expect {
1511         -re ".* 581 0ea8 0158F301" { set x [expr $x+1]; exp_continue; }
1512         -re ".* 581      1234" { set x [expr $x+1]; exp_continue; }
1513         -re ".* 582 0eae 0158F311" { set x [expr $x+1]; exp_continue; }
1514         -re ".* 582      1234" { set x [expr $x+1]; exp_continue; }
1515         -re ".* 583 0eb4 0158F381" { set x [expr $x+1]; exp_continue; }
1516         -re ".* 583      1234" { set x [expr $x+1]; exp_continue; }
1517         -re ".* 584 0eba 0158F3B1" { set x [expr $x+1]; exp_continue; }
1518         -re ".* 584      1234" { set x [expr $x+1]; exp_continue; }
1519         -re ".* 585 0ec0 0158F391" { set x [expr $x+1]; exp_continue; }
1520         -re ".* 585      1234" { set x [expr $x+1]; exp_continue; }
1521         -re ".* 586 0ec6 0158F3A1" { set x [expr $x+1]; exp_continue; }
1522         -re ".* 586      1234" { set x [expr $x+1]; exp_continue; }
1523         -re ".* 587 0ecc 0158F3C1" { set x [expr $x+1]; exp_continue; }
1524         -re ".* 587      12349ABC" { set x [expr $x+1]; exp_continue; }
1525         -re ".* 588 0ed4 0158F3C9" { set x [expr $x+1]; exp_continue; }
1526         -re ".* 588      12349ABC" { set x [expr $x+1]; exp_continue; }
1527         -re ".* 588      DEF0" { set x [expr $x+1]; exp_continue; }
1528         -re ".* 589 0ede 0158F3D3" { set x [expr $x+1]; exp_continue; }
1529         -re ".* 589      12349ABC" { set x [expr $x+1]; exp_continue; }
1530         -re ".* 590 0ee6 0158F3E3" { set x [expr $x+1]; exp_continue; }
1531         -re ".* 590      12349ABC" { set x [expr $x+1]; exp_continue; }
1532         -re ".* 591 0eee 0158F3F3" { set x [expr $x+1]; exp_continue; }
1533         -re ".* 591      12349ABC" { set x [expr $x+1]; exp_continue; }
1534         -re ".* 592 0ef6 0158F3DB" { set x [expr $x+1]; exp_continue; }
1535         -re ".* 592      12349ABC" { set x [expr $x+1]; exp_continue; }
1536         -re ".* 592      DEF0" { set x [expr $x+1]; exp_continue; }
1537         -re ".* 593 0f00 0158F3EB" { set x [expr $x+1]; exp_continue; }
1538         -re ".* 593      12349ABC" { set x [expr $x+1]; exp_continue; }
1539         -re ".* 593      DEF0" { set x [expr $x+1]; exp_continue; }
1540         -re ".* 594 0f0a 0158F3FB" { set x [expr $x+1]; exp_continue; }
1541         -re ".* 594      12349ABC" { set x [expr $x+1]; exp_continue; }
1542         -re ".* 594      DEF0" { set x [expr $x+1]; exp_continue; }
1543         -re ".* 595 0f14 0158F340" { set x [expr $x+1]; exp_continue; }
1544         -re ".* 595      12349ABC" { set x [expr $x+1]; exp_continue; }
1545         -re ".* 596 0f1c 0158F348" { set x [expr $x+1]; exp_continue; }
1546         -re ".* 596      12349ABC" { set x [expr $x+1]; exp_continue; }
1547         -re ".* 596      DEF0" { set x [expr $x+1]; exp_continue; }
1548         -re ".* 597              " {
1549             if [expr $x == 37] then {
1550                 pass "$testname: mov.w @(0x1234:16,er3.l), ..."
1551             } else {
1552                 fail "$testname: mov.w @(0x1234:16,er3.l), ... ($x)"
1553             }
1554         }
1555         default { fail "$testname: mov.w @(0x1234:16,er3.l), ... ($x)" }
1556     }
1557
1558     set x 0
1559     expect {
1560         -re ".* 598 0f26 0158DB01" { set x [expr $x+1]; exp_continue; }
1561         -re ".* 598      12345678" { set x [expr $x+1]; exp_continue; }
1562         -re ".* 599 0f2e 0158DB11" { set x [expr $x+1]; exp_continue; }
1563         -re ".* 599      12345678" { set x [expr $x+1]; exp_continue; }
1564         -re ".* 600 0f36 0158DB81" { set x [expr $x+1]; exp_continue; }
1565         -re ".* 600      12345678" { set x [expr $x+1]; exp_continue; }
1566         -re ".* 601 0f3e 0158DBB1" { set x [expr $x+1]; exp_continue; }
1567         -re ".* 601      12345678" { set x [expr $x+1]; exp_continue; }
1568         -re ".* 602 0f46 0158DB91" { set x [expr $x+1]; exp_continue; }
1569         -re ".* 602      12345678" { set x [expr $x+1]; exp_continue; }
1570         -re ".* 603 0f4e 0158DBA1" { set x [expr $x+1]; exp_continue; }
1571         -re ".* 603      12345678" { set x [expr $x+1]; exp_continue; }
1572         -re ".* 604 0f56 0158DBC1" { set x [expr $x+1]; exp_continue; }
1573         -re ".* 604      12345678" { set x [expr $x+1]; exp_continue; }
1574         -re ".* 604      9ABC" { set x [expr $x+1]; exp_continue; }
1575         -re ".* 605 0f60 0158DBC9" { set x [expr $x+1]; exp_continue; }
1576         -re ".* 605      12345678" { set x [expr $x+1]; exp_continue; }
1577         -re ".* 605      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1578         -re ".* 606 0f6c 0158DBD3" { set x [expr $x+1]; exp_continue; }
1579         -re ".* 606      12345678" { set x [expr $x+1]; exp_continue; }
1580         -re ".* 606      9ABC" { set x [expr $x+1]; exp_continue; }
1581         -re ".* 607 0f76 0158DBE3" { set x [expr $x+1]; exp_continue; }
1582         -re ".* 607      12345678" { set x [expr $x+1]; exp_continue; }
1583         -re ".* 607      9ABC" { set x [expr $x+1]; exp_continue; }
1584         -re ".* 608 0f80 0158DBF3" { set x [expr $x+1]; exp_continue; }
1585         -re ".* 608      12345678" { set x [expr $x+1]; exp_continue; }
1586         -re ".* 608      9ABC" { set x [expr $x+1]; exp_continue; }
1587         -re ".* 609 0f8a 0158DBDB" { set x [expr $x+1]; exp_continue; }
1588         -re ".* 609      12345678" { set x [expr $x+1]; exp_continue; }
1589         -re ".* 609      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1590         -re ".* 610 0f96 0158DBEB" { set x [expr $x+1]; exp_continue; }
1591         -re ".* 610      12345678" { set x [expr $x+1]; exp_continue; }
1592         -re ".* 610      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1593         -re ".* 611 0fa2 0158DBFB" { set x [expr $x+1]; exp_continue; }
1594         -re ".* 611      12345678" { set x [expr $x+1]; exp_continue; }
1595         -re ".* 611      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1596         -re ".* 612 0fae 0158DB40" { set x [expr $x+1]; exp_continue; }
1597         -re ".* 612      12345678" { set x [expr $x+1]; exp_continue; }
1598         -re ".* 612      9ABC" { set x [expr $x+1]; exp_continue; }
1599         -re ".* 613 0fb8 0158DB48" { set x [expr $x+1]; exp_continue; }
1600         -re ".* 613      12345678" { set x [expr $x+1]; exp_continue; }
1601         -re ".* 613      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1602         -re ".* 614              " {
1603             if [expr $x == 42] then {
1604                 pass "$testname: mov.w @(0x12345678:32,r3l.b), ..."
1605             } else {
1606                 fail "$testname: mov.w @(0x12345678:32,r3l.b), ... ($x)"
1607             }
1608         }
1609         default { fail "$testname: mov.w @(0x12345678:32,r3l.b), ... ($x)" }
1610     }
1611
1612     set x 0
1613     expect {
1614         -re ".* 615 0fc4 0158EB01" { set x [expr $x+1]; exp_continue; }
1615         -re ".* 615      12345678" { set x [expr $x+1]; exp_continue; }
1616         -re ".* 616 0fcc 0158EB11" { set x [expr $x+1]; exp_continue; }
1617         -re ".* 616      12345678" { set x [expr $x+1]; exp_continue; }
1618         -re ".* 617 0fd4 0158EB81" { set x [expr $x+1]; exp_continue; }
1619         -re ".* 617      12345678" { set x [expr $x+1]; exp_continue; }
1620         -re ".* 618 0fdc 0158EBB1" { set x [expr $x+1]; exp_continue; }
1621         -re ".* 618      12345678" { set x [expr $x+1]; exp_continue; }
1622         -re ".* 619 0fe4 0158EB91" { set x [expr $x+1]; exp_continue; }
1623         -re ".* 619      12345678" { set x [expr $x+1]; exp_continue; }
1624         -re ".* 620 0fec 0158EBA1" { set x [expr $x+1]; exp_continue; }
1625         -re ".* 620      12345678" { set x [expr $x+1]; exp_continue; }
1626         -re ".* 621 0ff4 0158EBC1" { set x [expr $x+1]; exp_continue; }
1627         -re ".* 621      12345678" { set x [expr $x+1]; exp_continue; }
1628         -re ".* 621      9ABC" { set x [expr $x+1]; exp_continue; }
1629         -re ".* 622 0ffe 0158EBC9" { set x [expr $x+1]; exp_continue; }
1630         -re ".* 622      12345678" { set x [expr $x+1]; exp_continue; }
1631         -re ".* 622      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1632         -re ".* 623 100a 0158EBD3" { set x [expr $x+1]; exp_continue; }
1633         -re ".* 623      12345678" { set x [expr $x+1]; exp_continue; }
1634         -re ".* 623      9ABC" { set x [expr $x+1]; exp_continue; }
1635         -re ".* 624 1014 0158EBE3" { set x [expr $x+1]; exp_continue; }
1636         -re ".* 624      12345678" { set x [expr $x+1]; exp_continue; }
1637         -re ".* 624      9ABC" { set x [expr $x+1]; exp_continue; }
1638         -re ".* 625 101e 0158EBF3" { set x [expr $x+1]; exp_continue; }
1639         -re ".* 625      12345678" { set x [expr $x+1]; exp_continue; }
1640         -re ".* 625      9ABC" { set x [expr $x+1]; exp_continue; }
1641         -re ".* 626 1028 0158EBDB" { set x [expr $x+1]; exp_continue; }
1642         -re ".* 626      12345678" { set x [expr $x+1]; exp_continue; }
1643         -re ".* 626      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1644         -re ".* 627 1034 0158EBEB" { set x [expr $x+1]; exp_continue; }
1645         -re ".* 627      12345678" { set x [expr $x+1]; exp_continue; }
1646         -re ".* 627      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1647         -re ".* 628 1040 0158EBFB" { set x [expr $x+1]; exp_continue; }
1648         -re ".* 628      12345678" { set x [expr $x+1]; exp_continue; }
1649         -re ".* 628      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1650         -re ".* 629 104c 0158EB40" { set x [expr $x+1]; exp_continue; }
1651         -re ".* 629      12345678" { set x [expr $x+1]; exp_continue; }
1652         -re ".* 629      9ABC" { set x [expr $x+1]; exp_continue; }
1653         -re ".* 630 1056 0158EB48" { set x [expr $x+1]; exp_continue; }
1654         -re ".* 630      12345678" { set x [expr $x+1]; exp_continue; }
1655         -re ".* 630      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1656         -re ".* 631              " {
1657             if [expr $x == 42] then {
1658                 pass "$testname: mov.w @(0x12345678:32,r3.w), ..."
1659             } else {
1660                 fail "$testname: mov.w @(0x12345678:32,r3.w), ... ($x)"
1661             }
1662         }
1663         default { fail "$testname: mov.w @(0x12345678:32,r3.w), ... ($x)" }
1664     }
1665
1666     set x 0
1667     expect {
1668         -re ".* 632 1062 0158FB01" { set x [expr $x+1]; exp_continue; }
1669         -re ".* 632      12345678" { set x [expr $x+1]; exp_continue; }
1670         -re ".* 633 106a 0158FB11" { set x [expr $x+1]; exp_continue; }
1671         -re ".* 633      12345678" { set x [expr $x+1]; exp_continue; }
1672         -re ".* 634 1072 0158FB81" { set x [expr $x+1]; exp_continue; }
1673         -re ".* 634      12345678" { set x [expr $x+1]; exp_continue; }
1674         -re ".* 635 107a 0158FBB1" { set x [expr $x+1]; exp_continue; }
1675         -re ".* 635      12345678" { set x [expr $x+1]; exp_continue; }
1676         -re ".* 636 1082 0158FB91" { set x [expr $x+1]; exp_continue; }
1677         -re ".* 636      12345678" { set x [expr $x+1]; exp_continue; }
1678         -re ".* 637 108a 0158FBA1" { set x [expr $x+1]; exp_continue; }
1679         -re ".* 637      12345678" { set x [expr $x+1]; exp_continue; }
1680         -re ".* 638 1092 0158FBC1" { set x [expr $x+1]; exp_continue; }
1681         -re ".* 638      12345678" { set x [expr $x+1]; exp_continue; }
1682         -re ".* 638      9ABC" { set x [expr $x+1]; exp_continue; }
1683         -re ".* 639 109c 0158FBC9" { set x [expr $x+1]; exp_continue; }
1684         -re ".* 639      12345678" { set x [expr $x+1]; exp_continue; }
1685         -re ".* 639      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1686         -re ".* 640 10a8 0158FBD3" { set x [expr $x+1]; exp_continue; }
1687         -re ".* 640      12345678" { set x [expr $x+1]; exp_continue; }
1688         -re ".* 640      9ABC" { set x [expr $x+1]; exp_continue; }
1689         -re ".* 641 10b2 0158FBE3" { set x [expr $x+1]; exp_continue; }
1690         -re ".* 641      12345678" { set x [expr $x+1]; exp_continue; }
1691         -re ".* 641      9ABC" { set x [expr $x+1]; exp_continue; }
1692         -re ".* 642 10bc 0158FBF3" { set x [expr $x+1]; exp_continue; }
1693         -re ".* 642      12345678" { set x [expr $x+1]; exp_continue; }
1694         -re ".* 642      9ABC" { set x [expr $x+1]; exp_continue; }
1695         -re ".* 643 10c6 0158FBDB" { set x [expr $x+1]; exp_continue; }
1696         -re ".* 643      12345678" { set x [expr $x+1]; exp_continue; }
1697         -re ".* 643      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1698         -re ".* 644 10d2 0158FBEB" { set x [expr $x+1]; exp_continue; }
1699         -re ".* 644      12345678" { set x [expr $x+1]; exp_continue; }
1700         -re ".* 644      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1701         -re ".* 645 10de 0158FBFB" { set x [expr $x+1]; exp_continue; }
1702         -re ".* 645      12345678" { set x [expr $x+1]; exp_continue; }
1703         -re ".* 645      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1704         -re ".* 646 10ea 0158FB40" { set x [expr $x+1]; exp_continue; }
1705         -re ".* 646      12345678" { set x [expr $x+1]; exp_continue; }
1706         -re ".* 646      9ABC" { set x [expr $x+1]; exp_continue; }
1707         -re ".* 647 10f4 0158FB48" { set x [expr $x+1]; exp_continue; }
1708         -re ".* 647      12345678" { set x [expr $x+1]; exp_continue; }
1709         -re ".* 647      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1710         -re ".* 648              " {
1711             if [expr $x == 42] then {
1712                 pass "$testname: mov.w @(0x12345678:32,er3.l), ..."
1713             } else {
1714                 fail "$testname: mov.w @(0x12345678:32,er3.l), ... ($x)"
1715             }
1716         }
1717         default { fail "$testname: mov.w @(0x12345678:32,er3.l), ... ($x)" }
1718     }
1719
1720     set x 0
1721     expect {
1722         -re ".* 649 1100 01584001" { set x [expr $x+1]; exp_continue; }
1723         -re ".* 649      1234" { set x [expr $x+1]; exp_continue; }
1724         -re ".* 650 1106 01584011" { set x [expr $x+1]; exp_continue; }
1725         -re ".* 650      1234" { set x [expr $x+1]; exp_continue; }
1726         -re ".* 651 110c 01584081" { set x [expr $x+1]; exp_continue; }
1727         -re ".* 651      1234" { set x [expr $x+1]; exp_continue; }
1728         -re ".* 652 1112 015840B1" { set x [expr $x+1]; exp_continue; }
1729         -re ".* 652      1234" { set x [expr $x+1]; exp_continue; }
1730         -re ".* 653 1118 01584091" { set x [expr $x+1]; exp_continue; }
1731         -re ".* 653      1234" { set x [expr $x+1]; exp_continue; }
1732         -re ".* 654 111e 015840A1" { set x [expr $x+1]; exp_continue; }
1733         -re ".* 654      1234" { set x [expr $x+1]; exp_continue; }
1734         -re ".* 655 1124 015840C1" { set x [expr $x+1]; exp_continue; }
1735         -re ".* 655      12349ABC" { set x [expr $x+1]; exp_continue; }
1736         -re ".* 656 112c 015840C9" { set x [expr $x+1]; exp_continue; }
1737         -re ".* 656      12349ABC" { set x [expr $x+1]; exp_continue; }
1738         -re ".* 656      DEF0" { set x [expr $x+1]; exp_continue; }
1739         -re ".* 657 1136 015840D3" { set x [expr $x+1]; exp_continue; }
1740         -re ".* 657      12349ABC" { set x [expr $x+1]; exp_continue; }
1741         -re ".* 658 113e 015840E3" { set x [expr $x+1]; exp_continue; }
1742         -re ".* 658      12349ABC" { set x [expr $x+1]; exp_continue; }
1743         -re ".* 659 1146 015840F3" { set x [expr $x+1]; exp_continue; }
1744         -re ".* 659      12349ABC" { set x [expr $x+1]; exp_continue; }
1745         -re ".* 660 114e 015840DB" { set x [expr $x+1]; exp_continue; }
1746         -re ".* 660      12349ABC" { set x [expr $x+1]; exp_continue; }
1747         -re ".* 660      DEF0" { set x [expr $x+1]; exp_continue; }
1748         -re ".* 661 1158 015840EB" { set x [expr $x+1]; exp_continue; }
1749         -re ".* 661      12349ABC" { set x [expr $x+1]; exp_continue; }
1750         -re ".* 661      DEF0" { set x [expr $x+1]; exp_continue; }
1751         -re ".* 662 1162 015840FB" { set x [expr $x+1]; exp_continue; }
1752         -re ".* 662      12349ABC" { set x [expr $x+1]; exp_continue; }
1753         -re ".* 662      DEF0" { set x [expr $x+1]; exp_continue; }
1754         -re ".* 663 116c 01584040" { set x [expr $x+1]; exp_continue; }
1755         -re ".* 663      12349ABC" { set x [expr $x+1]; exp_continue; }
1756         -re ".* 664 1174 01584048" { set x [expr $x+1]; exp_continue; }
1757         -re ".* 664      12349ABC" { set x [expr $x+1]; exp_continue; }
1758         -re ".* 664      DEF0" { set x [expr $x+1]; exp_continue; }
1759         -re ".* 665              " {
1760             if [expr $x == 37] then {
1761                 pass "$testname: mov.w @0x1234:16, ..."
1762             } else {
1763                 fail "$testname: mov.w @0x1234:16, ... ($x)"
1764             }
1765         }
1766         default { fail "$testname: mov.w @0x1234:16, ... ($x)" }
1767     }
1768
1769     set x 0
1770     expect {
1771         -re ".* 666 117e 01584801" { set x [expr $x+1]; exp_continue; }
1772         -re ".* 666      12345678" { set x [expr $x+1]; exp_continue; }
1773         -re ".* 667 1186 01584811" { set x [expr $x+1]; exp_continue; }
1774         -re ".* 667      12345678" { set x [expr $x+1]; exp_continue; }
1775         -re ".* 668 118e 01584881" { set x [expr $x+1]; exp_continue; }
1776         -re ".* 668      12345678" { set x [expr $x+1]; exp_continue; }
1777         -re ".* 669 1196 015848B1" { set x [expr $x+1]; exp_continue; }
1778         -re ".* 669      12345678" { set x [expr $x+1]; exp_continue; }
1779         -re ".* 670 119e 01584891" { set x [expr $x+1]; exp_continue; }
1780         -re ".* 670      12345678" { set x [expr $x+1]; exp_continue; }
1781         -re ".* 671 11a6 015848A1" { set x [expr $x+1]; exp_continue; }
1782         -re ".* 671      12345678" { set x [expr $x+1]; exp_continue; }
1783         -re ".* 672 11ae 015848C1" { set x [expr $x+1]; exp_continue; }
1784         -re ".* 672      12345678" { set x [expr $x+1]; exp_continue; }
1785         -re ".* 672      9ABC" { set x [expr $x+1]; exp_continue; }
1786         -re ".* 673 11b8 015848C9" { set x [expr $x+1]; exp_continue; }
1787         -re ".* 673      12345678" { set x [expr $x+1]; exp_continue; }
1788         -re ".* 673      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1789         -re ".* 674 11c4 015848D3" { set x [expr $x+1]; exp_continue; }
1790         -re ".* 674      12345678" { set x [expr $x+1]; exp_continue; }
1791         -re ".* 674      9ABC" { set x [expr $x+1]; exp_continue; }
1792         -re ".* 675 11ce 015848E3" { set x [expr $x+1]; exp_continue; }
1793         -re ".* 675      12345678" { set x [expr $x+1]; exp_continue; }
1794         -re ".* 675      9ABC" { set x [expr $x+1]; exp_continue; }
1795         -re ".* 676 11d8 015848F3" { set x [expr $x+1]; exp_continue; }
1796         -re ".* 676      12345678" { set x [expr $x+1]; exp_continue; }
1797         -re ".* 676      9ABC" { set x [expr $x+1]; exp_continue; }
1798         -re ".* 677 11e2 015848DB" { set x [expr $x+1]; exp_continue; }
1799         -re ".* 677      12345678" { set x [expr $x+1]; exp_continue; }
1800         -re ".* 677      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1801         -re ".* 678 11ee 015848EB" { set x [expr $x+1]; exp_continue; }
1802         -re ".* 678      12345678" { set x [expr $x+1]; exp_continue; }
1803         -re ".* 678      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1804         -re ".* 679 11fa 015848FB" { set x [expr $x+1]; exp_continue; }
1805         -re ".* 679      12345678" { set x [expr $x+1]; exp_continue; }
1806         -re ".* 679      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1807         -re ".* 680 1206 01584840" { set x [expr $x+1]; exp_continue; }
1808         -re ".* 680      12345678" { set x [expr $x+1]; exp_continue; }
1809         -re ".* 680      9ABC" { set x [expr $x+1]; exp_continue; }
1810         -re ".* 681 1210 01584848" { set x [expr $x+1]; exp_continue; }
1811         -re ".* 681      12345678" { set x [expr $x+1]; exp_continue; }
1812         -re ".* 681      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
1813         -re ".* 682              " {
1814             if [expr $x == 42] then {
1815                 pass "$testname: mov.w @0x12345678:32, ..."
1816             } else {
1817                 fail "$testname: mov.w @0x12345678:32, ... ($x)"
1818             }
1819         }
1820         default { fail "$testname: mov.w @0x12345678:32, ... ($x)" }
1821     }
1822
1823     set x 0
1824     expect {
1825         -re ".* 683 121c 7A011234" { set x [expr $x+1]; exp_continue; }
1826         -re ".* 683      5678" { set x [expr $x+1]; exp_continue; }
1827         -re ".* 684              " {
1828             if [expr $x == 2] then {
1829                 pass "$testname: mov.l #0x12345678:32, er1"
1830             } else {
1831                 fail "$testname: mov.l #0x12345678:32, er1 ($x)"
1832             }
1833         }
1834         default { fail "$testname: mov.l #0x12345678:32, er1 ($x)" }
1835     }
1836
1837     set x 0
1838     expect {
1839         -re ".* 685 1222 7A091234" { set x [expr $x+1]; exp_continue; }
1840         -re ".* 686              " {
1841             if [expr $x == 1] then {
1842                 pass "$testname: mov.l #0x1234:16, er1"
1843             } else {
1844                 fail "$testname: mov.l #0x1234:16, er1 ($x)"
1845             }
1846         }
1847         default { fail "$testname: mov.l #0x1234:16, er1 ($x)" }
1848     }
1849
1850     set x 0
1851     expect {
1852         -re ".* 687 1226 0F9B" { set x [expr $x+1]; exp_continue; }
1853         -re ".* 688              " {
1854             if [expr $x == 1] then {
1855                 pass "$testname: mov.l #0x1:3, er3"
1856             } else {
1857                 fail "$testname: mov.l #0x1:3, er3 ($x)"
1858             }
1859         }
1860         default { fail "$testname: mov.l #0x1:3, er3 ($x)" }
1861     }
1862
1863     set x 0
1864     expect {
1865         -re ".* 689 1228 7A741234" { set x [expr $x+1]; exp_continue; }
1866         -re ".* 689      56780100" { set x [expr $x+1]; exp_continue; }
1867         -re ".* 690 1230 7A741234" { set x [expr $x+1]; exp_continue; }
1868         -re ".* 690      56781100" { set x [expr $x+1]; exp_continue; }
1869         -re ".* 691 1238 7A741234" { set x [expr $x+1]; exp_continue; }
1870         -re ".* 691      5678B100" { set x [expr $x+1]; exp_continue; }
1871         -re ".* 692 1240 7A741234" { set x [expr $x+1]; exp_continue; }
1872         -re ".* 692      56788100" { set x [expr $x+1]; exp_continue; }
1873         -re ".* 693 1248 7A741234" { set x [expr $x+1]; exp_continue; }
1874         -re ".* 693      5678A100" { set x [expr $x+1]; exp_continue; }
1875         -re ".* 694 1250 7A741234" { set x [expr $x+1]; exp_continue; }
1876         -re ".* 694      56789100" { set x [expr $x+1]; exp_continue; }
1877         -re ".* 695 1258 7A741234" { set x [expr $x+1]; exp_continue; }
1878         -re ".* 695      5678C100" { set x [expr $x+1]; exp_continue; }
1879         -re ".* 695      1234" { set x [expr $x+1]; exp_continue; }
1880         -re ".* 696 1262 7A741234" { set x [expr $x+1]; exp_continue; }
1881         -re ".* 696      5678C900" { set x [expr $x+1]; exp_continue; }
1882         -re ".* 696      12345678" { set x [expr $x+1]; exp_continue; }
1883         -re ".* 697 126e 7A741234" { set x [expr $x+1]; exp_continue; }
1884         -re ".* 697      5678D300" { set x [expr $x+1]; exp_continue; }
1885         -re ".* 697      1234" { set x [expr $x+1]; exp_continue; }
1886         -re ".* 698 1278 7A741234" { set x [expr $x+1]; exp_continue; }
1887         -re ".* 698      5678E300" { set x [expr $x+1]; exp_continue; }
1888         -re ".* 698      1234" { set x [expr $x+1]; exp_continue; }
1889         -re ".* 699 1282 7A741234" { set x [expr $x+1]; exp_continue; }
1890         -re ".* 699      5678F300" { set x [expr $x+1]; exp_continue; }
1891         -re ".* 699      1234" { set x [expr $x+1]; exp_continue; }
1892         -re ".* 700 128c 7A741234" { set x [expr $x+1]; exp_continue; }
1893         -re ".* 700      5678DB00" { set x [expr $x+1]; exp_continue; }
1894         -re ".* 700      12345678" { set x [expr $x+1]; exp_continue; }
1895         -re ".* 701 1298 7A741234" { set x [expr $x+1]; exp_continue; }
1896         -re ".* 701      5678EB00" { set x [expr $x+1]; exp_continue; }
1897         -re ".* 701      12345678" { set x [expr $x+1]; exp_continue; }
1898         -re ".* 702 12a4 7A741234" { set x [expr $x+1]; exp_continue; }
1899         -re ".* 702      5678FB00" { set x [expr $x+1]; exp_continue; }
1900         -re ".* 702      12345678" { set x [expr $x+1]; exp_continue; }
1901         -re ".* 703 12b0 7A741234" { set x [expr $x+1]; exp_continue; }
1902         -re ".* 703      56784000" { set x [expr $x+1]; exp_continue; }
1903         -re ".* 703      1234" { set x [expr $x+1]; exp_continue; }
1904         -re ".* 704 12ba 7A741234" { set x [expr $x+1]; exp_continue; }
1905         -re ".* 704      56784800" { set x [expr $x+1]; exp_continue; }
1906         -re ".* 704      12345678" { set x [expr $x+1]; exp_continue; }
1907         -re ".* 705              " {
1908             if [expr $x == 42] then {
1909                 pass "$testname: mov.l #0x12345678:32, ..."
1910             } else {
1911                 fail "$testname: mov.l #0x12345678:32, ... ($x)"
1912             }
1913         }
1914         default { fail "$testname: mov.l #0x12345678:32, ... ($x)" }
1915     }
1916
1917     set x 0
1918     expect {
1919         -re ".* 706 12c6 7A7C1234" { set x [expr $x+1]; exp_continue; }
1920         -re ".* 706      0100" { set x [expr $x+1]; exp_continue; }
1921         -re ".* 707 12cc 7A7C1234" { set x [expr $x+1]; exp_continue; }
1922         -re ".* 707      1100" { set x [expr $x+1]; exp_continue; }
1923         -re ".* 708 12d2 7A7C1234" { set x [expr $x+1]; exp_continue; }
1924         -re ".* 708      B100" { set x [expr $x+1]; exp_continue; }
1925         -re ".* 709 12d8 7A7C1234" { set x [expr $x+1]; exp_continue; }
1926         -re ".* 709      8100" { set x [expr $x+1]; exp_continue; }
1927         -re ".* 710 12de 7A7C1234" { set x [expr $x+1]; exp_continue; }
1928         -re ".* 710      A100" { set x [expr $x+1]; exp_continue; }
1929         -re ".* 711 12e4 7A7C1234" { set x [expr $x+1]; exp_continue; }
1930         -re ".* 711      9100" { set x [expr $x+1]; exp_continue; }
1931         -re ".* 712 12ea 7A7C1234" { set x [expr $x+1]; exp_continue; }
1932         -re ".* 712      C1001234" { set x [expr $x+1]; exp_continue; }
1933         -re ".* 713 12f2 7A7C1234" { set x [expr $x+1]; exp_continue; }
1934         -re ".* 713      C9001234" { set x [expr $x+1]; exp_continue; }
1935         -re ".* 713      5678" { set x [expr $x+1]; exp_continue; }
1936         -re ".* 714 12fc 7A7C1234" { set x [expr $x+1]; exp_continue; }
1937         -re ".* 714      D3001234" { set x [expr $x+1]; exp_continue; }
1938         -re ".* 715 1304 7A7C1234" { set x [expr $x+1]; exp_continue; }
1939         -re ".* 715      E3001234" { set x [expr $x+1]; exp_continue; }
1940         -re ".* 716 130c 7A7C1234" { set x [expr $x+1]; exp_continue; }
1941         -re ".* 716      F3001234" { set x [expr $x+1]; exp_continue; }
1942         -re ".* 717 1314 7A7C1234" { set x [expr $x+1]; exp_continue; }
1943         -re ".* 717      DB001234" { set x [expr $x+1]; exp_continue; }
1944         -re ".* 717      5678" { set x [expr $x+1]; exp_continue; }
1945         -re ".* 718 131e 7A7C1234" { set x [expr $x+1]; exp_continue; }
1946         -re ".* 718      EB001234" { set x [expr $x+1]; exp_continue; }
1947         -re ".* 718      5678" { set x [expr $x+1]; exp_continue; }
1948         -re ".* 719 1328 7A7C1234" { set x [expr $x+1]; exp_continue; }
1949         -re ".* 719      FB001234" { set x [expr $x+1]; exp_continue; }
1950         -re ".* 719      5678" { set x [expr $x+1]; exp_continue; }
1951         -re ".* 720 1332 7A7C1234" { set x [expr $x+1]; exp_continue; }
1952         -re ".* 720      40001234" { set x [expr $x+1]; exp_continue; }
1953         -re ".* 721 133a 7A7C1234" { set x [expr $x+1]; exp_continue; }
1954         -re ".* 721      48001234" { set x [expr $x+1]; exp_continue; }
1955         -re ".* 721      5678" { set x [expr $x+1]; exp_continue; }
1956         -re ".* 722              " {
1957             if [expr $x == 37] then {
1958                 pass "$testname: mov.l #0x1234:16, ..."
1959             } else {
1960                 fail "$testname: mov.l #0x1234:16, ... ($x)"
1961             }
1962         }
1963         default { fail "$testname: mov.l #0x1234:16, ... ($x)" }
1964     }
1965
1966     set x 0
1967     expect {
1968         -re ".* 723 1344 010D0112" { set x [expr $x+1]; exp_continue; }
1969         -re ".* 724 1348 010D1112" { set x [expr $x+1]; exp_continue; }
1970         -re ".* 725 134c 010DB112" { set x [expr $x+1]; exp_continue; }
1971         -re ".* 726 1350 010D8112" { set x [expr $x+1]; exp_continue; }
1972         -re ".* 727 1354 010DA112" { set x [expr $x+1]; exp_continue; }
1973         -re ".* 728 1358 010D9112" { set x [expr $x+1]; exp_continue; }
1974         -re ".* 729 135c 010DC112" { set x [expr $x+1]; exp_continue; }
1975         -re ".* 729      1234" { set x [expr $x+1]; exp_continue; }
1976         -re ".* 730 1362 010DC912" { set x [expr $x+1]; exp_continue; }
1977         -re ".* 730      12345678" { set x [expr $x+1]; exp_continue; }
1978         -re ".* 731 136a 010DD312" { set x [expr $x+1]; exp_continue; }
1979         -re ".* 731      1234" { set x [expr $x+1]; exp_continue; }
1980         -re ".* 732 1370 010DE312" { set x [expr $x+1]; exp_continue; }
1981         -re ".* 732      1234" { set x [expr $x+1]; exp_continue; }
1982         -re ".* 733 1376 010DF312" { set x [expr $x+1]; exp_continue; }
1983         -re ".* 733      1234" { set x [expr $x+1]; exp_continue; }
1984         -re ".* 734 137c 010DDB12" { set x [expr $x+1]; exp_continue; }
1985         -re ".* 734      12345678" { set x [expr $x+1]; exp_continue; }
1986         -re ".* 735 1384 010DEB12" { set x [expr $x+1]; exp_continue; }
1987         -re ".* 735      12345678" { set x [expr $x+1]; exp_continue; }
1988         -re ".* 736 138c 010DFB12" { set x [expr $x+1]; exp_continue; }
1989         -re ".* 736      12345678" { set x [expr $x+1]; exp_continue; }
1990         -re ".* 737 1394 010D4012" { set x [expr $x+1]; exp_continue; }
1991         -re ".* 737      1234" { set x [expr $x+1]; exp_continue; }
1992         -re ".* 738 139a 010D4812" { set x [expr $x+1]; exp_continue; }
1993         -re ".* 738      12345678" { set x [expr $x+1]; exp_continue; }
1994         -re ".* 739              " {
1995             if [expr $x == 26] then {
1996                 pass "$testname: mov.l #0x12:8, ..."
1997             } else {
1998                 fail "$testname: mov.l #0x12:8, ... ($x)"
1999             }
2000         }
2001         default { fail "$testname: mov.l #0x12:8, ... ($x)" }
2002     }
2003
2004     set x 0
2005     expect {
2006         -re ".* 740 13a2 0FA1" { set x [expr $x+1]; exp_continue; }
2007         -re ".* 741              " {
2008             if [expr $x == 1] then {
2009                 pass "$testname: mov.l er2, er1"
2010             } else {
2011                 fail "$testname: mov.l er2, er1 ($x)"
2012             }
2013         }
2014         default { fail "$testname: mov.l er2, er1 ($x)" }
2015     }
2016
2017     set x 0
2018     expect {
2019         -re ".* 742 13a4 01006992" { set x [expr $x+1]; exp_continue; }
2020         -re ".* 743 13a8 01016992" { set x [expr $x+1]; exp_continue; }
2021         -re ".* 744 13ac 01006D92" { set x [expr $x+1]; exp_continue; }
2022         -re ".* 745 13b0 01036D92" { set x [expr $x+1]; exp_continue; }
2023         -re ".* 746 13b4 01016D92" { set x [expr $x+1]; exp_continue; }
2024         -re ".* 747 13b8 01026D92" { set x [expr $x+1]; exp_continue; }
2025         -re ".* 748 13bc 01006F92" { set x [expr $x+1]; exp_continue; }
2026         -re ".* 748      1234" { set x [expr $x+1]; exp_continue; }
2027         -re ".* 749 13c2 78906BA2" { set x [expr $x+1]; exp_continue; }
2028         -re ".* 749      12345678" { set x [expr $x+1]; exp_continue; }
2029         -re ".* 750 13ca 01016FB2" { set x [expr $x+1]; exp_continue; }
2030         -re ".* 750      1234" { set x [expr $x+1]; exp_continue; }
2031         -re ".* 751 13d0 01026FB2" { set x [expr $x+1]; exp_continue; }
2032         -re ".* 751      1234" { set x [expr $x+1]; exp_continue; }
2033         -re ".* 752 13d6 01036FB2" { set x [expr $x+1]; exp_continue; }
2034         -re ".* 752      1234" { set x [expr $x+1]; exp_continue; }
2035         -re ".* 753 13dc 78B16BA2" { set x [expr $x+1]; exp_continue; }
2036         -re ".* 753      12345678" { set x [expr $x+1]; exp_continue; }
2037         -re ".* 754 13e4 78B26BA2" { set x [expr $x+1]; exp_continue; }
2038         -re ".* 754      12345678" { set x [expr $x+1]; exp_continue; }
2039         -re ".* 755 13ec 78B36BA2" { set x [expr $x+1]; exp_continue; }
2040         -re ".* 755      12345678" { set x [expr $x+1]; exp_continue; }
2041         -re ".* 756 13f4 01006B82" { set x [expr $x+1]; exp_continue; }
2042         -re ".* 756      1234" { set x [expr $x+1]; exp_continue; }
2043         -re ".* 757 13fa 01006BA2" { set x [expr $x+1]; exp_continue; }
2044         -re ".* 757      12345678" { set x [expr $x+1]; exp_continue; }
2045         -re ".* 758              " {
2046             if [expr $x == 26] then {
2047                 pass "$testname: mov.l er2, ..."
2048             } else {
2049                 fail "$testname: mov.l er2, ... ($x)"
2050             }
2051         }
2052         default { fail "$testname: mov.l er2, ... ($x)" }
2053     }
2054
2055     set x 0
2056     expect {
2057         -re ".* 759 1402 01006921" { set x [expr $x+1]; exp_continue; }
2058         -re ".* 760 1406 01016921" { set x [expr $x+1]; exp_continue; }
2059         -re ".* 761 140a 01006D21" { set x [expr $x+1]; exp_continue; }
2060         -re ".* 762 140e 01036D21" { set x [expr $x+1]; exp_continue; }
2061         -re ".* 763 1412 01016D21" { set x [expr $x+1]; exp_continue; }
2062         -re ".* 764 1416 01026D21" { set x [expr $x+1]; exp_continue; }
2063         -re ".* 765 141a 01006F11" { set x [expr $x+1]; exp_continue; }
2064         -re ".* 765      1234" { set x [expr $x+1]; exp_continue; }
2065         -re ".* 766 1420 78906B21" { set x [expr $x+1]; exp_continue; }
2066         -re ".* 766      12345678" { set x [expr $x+1]; exp_continue; }
2067         -re ".* 767 1428 01016F31" { set x [expr $x+1]; exp_continue; }
2068         -re ".* 767      1234" { set x [expr $x+1]; exp_continue; }
2069         -re ".* 768 142e 01026F31" { set x [expr $x+1]; exp_continue; }
2070         -re ".* 768      1234" { set x [expr $x+1]; exp_continue; }
2071         -re ".* 769 1434 01036F31" { set x [expr $x+1]; exp_continue; }
2072         -re ".* 769      1234" { set x [expr $x+1]; exp_continue; }
2073         -re ".* 770 143a 78B16B21" { set x [expr $x+1]; exp_continue; }
2074         -re ".* 770      12345678" { set x [expr $x+1]; exp_continue; }
2075         -re ".* 771 1442 78B26B21" { set x [expr $x+1]; exp_continue; }
2076         -re ".* 771      12345678" { set x [expr $x+1]; exp_continue; }
2077         -re ".* 772 144a 78B36B21" { set x [expr $x+1]; exp_continue; }
2078         -re ".* 772      12345678" { set x [expr $x+1]; exp_continue; }
2079         -re ".* 773 1452 01006B01" { set x [expr $x+1]; exp_continue; }
2080         -re ".* 773      1234" { set x [expr $x+1]; exp_continue; }
2081         -re ".* 774 1458 01006B21" { set x [expr $x+1]; exp_continue; }
2082         -re ".* 774      12345678" { set x [expr $x+1]; exp_continue; }
2083         -re ".* 775              " {
2084             if [expr $x == 26] then {
2085                 pass "$testname: mov.l ..., er1"
2086             } else {
2087                 fail "$testname: mov.l ..., er1 ($x)"
2088             }
2089         }
2090         default { fail "$testname: mov.l ..., er1 ($x)" }
2091     }
2092
2093     set x 0
2094     expect {
2095         -re ".* 776 1460 01080201" { set x [expr $x+1]; exp_continue; }
2096         -re ".* 777 1464 01080211" { set x [expr $x+1]; exp_continue; }
2097         -re ".* 778 1468 01080281" { set x [expr $x+1]; exp_continue; }
2098         -re ".* 779 146c 010802B1" { set x [expr $x+1]; exp_continue; }
2099         -re ".* 780 1470 01080291" { set x [expr $x+1]; exp_continue; }
2100         -re ".* 781 1474 010802A1" { set x [expr $x+1]; exp_continue; }
2101         -re ".* 782 1478 010802C1" { set x [expr $x+1]; exp_continue; }
2102         -re ".* 782      1234" { set x [expr $x+1]; exp_continue; }
2103         -re ".* 783 147e 010802C9" { set x [expr $x+1]; exp_continue; }
2104         -re ".* 783      12345678" { set x [expr $x+1]; exp_continue; }
2105         -re ".* 784 1486 010802D3" { set x [expr $x+1]; exp_continue; }
2106         -re ".* 784      1234" { set x [expr $x+1]; exp_continue; }
2107         -re ".* 785 148c 010802E3" { set x [expr $x+1]; exp_continue; }
2108         -re ".* 785      1234" { set x [expr $x+1]; exp_continue; }
2109         -re ".* 786 1492 010802F3" { set x [expr $x+1]; exp_continue; }
2110         -re ".* 786      1234" { set x [expr $x+1]; exp_continue; }
2111         -re ".* 787 1498 010802DB" { set x [expr $x+1]; exp_continue; }
2112         -re ".* 787      12345678" { set x [expr $x+1]; exp_continue; }
2113         -re ".* 788 14a0 010802EB" { set x [expr $x+1]; exp_continue; }
2114         -re ".* 788      12345678" { set x [expr $x+1]; exp_continue; }
2115         -re ".* 789 14a8 010802FB" { set x [expr $x+1]; exp_continue; }
2116         -re ".* 789      12345678" { set x [expr $x+1]; exp_continue; }
2117         -re ".* 790 14b0 01080240" { set x [expr $x+1]; exp_continue; }
2118         -re ".* 790      1234" { set x [expr $x+1]; exp_continue; }
2119         -re ".* 791 14b6 01080248" { set x [expr $x+1]; exp_continue; }
2120         -re ".* 791      12345678" { set x [expr $x+1]; exp_continue; }
2121         -re ".* 792              " {
2122             if [expr $x == 26] then {
2123                 pass "$testname: mov.l @er2, ..."
2124             } else {
2125                 fail "$testname: mov.l @er2, ... ($x)"
2126             }
2127         }
2128         default { fail "$testname: mov.l @er2, ... ($x)" }
2129     }
2130
2131     set x 0
2132     expect {
2133         -re ".* 793 14be 01081201" { set x [expr $x+1]; exp_continue; }
2134         -re ".* 794 14c2 01081211" { set x [expr $x+1]; exp_continue; }
2135         -re ".* 795 14c6 01081281" { set x [expr $x+1]; exp_continue; }
2136         -re ".* 796 14ca 010812B1" { set x [expr $x+1]; exp_continue; }
2137         -re ".* 797 14ce 01081291" { set x [expr $x+1]; exp_continue; }
2138         -re ".* 798 14d2 010812A1" { set x [expr $x+1]; exp_continue; }
2139         -re ".* 799 14d6 010812C1" { set x [expr $x+1]; exp_continue; }
2140         -re ".* 799      1234" { set x [expr $x+1]; exp_continue; }
2141         -re ".* 800 14dc 010812C9" { set x [expr $x+1]; exp_continue; }
2142         -re ".* 800      12345678" { set x [expr $x+1]; exp_continue; }
2143         -re ".* 801 14e4 010812D3" { set x [expr $x+1]; exp_continue; }
2144         -re ".* 801      1234" { set x [expr $x+1]; exp_continue; }
2145         -re ".* 802 14ea 010812E3" { set x [expr $x+1]; exp_continue; }
2146         -re ".* 802      1234" { set x [expr $x+1]; exp_continue; }
2147         -re ".* 803 14f0 010812F3" { set x [expr $x+1]; exp_continue; }
2148         -re ".* 803      1234" { set x [expr $x+1]; exp_continue; }
2149         -re ".* 804 14f6 010812DB" { set x [expr $x+1]; exp_continue; }
2150         -re ".* 804      12345678" { set x [expr $x+1]; exp_continue; }
2151         -re ".* 805 14fe 010812EB" { set x [expr $x+1]; exp_continue; }
2152         -re ".* 805      12345678" { set x [expr $x+1]; exp_continue; }
2153         -re ".* 806 1506 010812FB" { set x [expr $x+1]; exp_continue; }
2154         -re ".* 806      12345678" { set x [expr $x+1]; exp_continue; }
2155         -re ".* 807 150e 01081240" { set x [expr $x+1]; exp_continue; }
2156         -re ".* 807      1234" { set x [expr $x+1]; exp_continue; }
2157         -re ".* 808 1514 01081248" { set x [expr $x+1]; exp_continue; }
2158         -re ".* 808      12345678" { set x [expr $x+1]; exp_continue; }
2159         -re ".* 809              " {
2160             if [expr $x == 26] then {
2161                 pass "$testname: mov.l @(0x4:2,er2), ..."
2162             } else {
2163                 fail "$testname: mov.l @(0x4:2,er2), ... ($x)"
2164             }
2165         }
2166         default { fail "$testname: mov.l @(0x4:2,er2), ... ($x)" }
2167     }
2168
2169     set x 0
2170     expect {
2171         -re ".* 810 151c 0108B201" { set x [expr $x+1]; exp_continue; }
2172         -re ".* 811 1520 0108B211" { set x [expr $x+1]; exp_continue; }
2173         -re ".* 812 1524 0108B281" { set x [expr $x+1]; exp_continue; }
2174         -re ".* 813 1528 0108B2B1" { set x [expr $x+1]; exp_continue; }
2175         -re ".* 814 152c 0108B291" { set x [expr $x+1]; exp_continue; }
2176         -re ".* 815 1530 0108B2A1" { set x [expr $x+1]; exp_continue; }
2177         -re ".* 816 1534 0108B2C1" { set x [expr $x+1]; exp_continue; }
2178         -re ".* 816      1234" { set x [expr $x+1]; exp_continue; }
2179         -re ".* 817 153a 0108B2C9" { set x [expr $x+1]; exp_continue; }
2180         -re ".* 817      12345678" { set x [expr $x+1]; exp_continue; }
2181         -re ".* 818 1542 0108B2D3" { set x [expr $x+1]; exp_continue; }
2182         -re ".* 818      1234" { set x [expr $x+1]; exp_continue; }
2183         -re ".* 819 1548 0108B2E3" { set x [expr $x+1]; exp_continue; }
2184         -re ".* 819      1234" { set x [expr $x+1]; exp_continue; }
2185         -re ".* 820 154e 0108B2F3" { set x [expr $x+1]; exp_continue; }
2186         -re ".* 820      1234" { set x [expr $x+1]; exp_continue; }
2187         -re ".* 821 1554 0108B2DB" { set x [expr $x+1]; exp_continue; }
2188         -re ".* 821      12345678" { set x [expr $x+1]; exp_continue; }
2189         -re ".* 822 155c 0108B2EB" { set x [expr $x+1]; exp_continue; }
2190         -re ".* 822      12345678" { set x [expr $x+1]; exp_continue; }
2191         -re ".* 823 1564 0108B2FB" { set x [expr $x+1]; exp_continue; }
2192         -re ".* 823      12345678" { set x [expr $x+1]; exp_continue; }
2193         -re ".* 824 156c 0108B240" { set x [expr $x+1]; exp_continue; }
2194         -re ".* 824      1234" { set x [expr $x+1]; exp_continue; }
2195         -re ".* 825 1572 0108B248" { set x [expr $x+1]; exp_continue; }
2196         -re ".* 825      12345678" { set x [expr $x+1]; exp_continue; }
2197         -re ".* 826              " {
2198             if [expr $x == 26] then {
2199                 pass "$testname: mov.l @-er2, ..."
2200             } else {
2201                 fail "$testname: mov.l @-er2, ... ($x)"
2202             }
2203         }
2204         default { fail "$testname: mov.l @-er2, ... ($x)" }
2205     }
2206
2207     set x 0
2208     expect {
2209         -re ".* 827 157a 01088201" { set x [expr $x+1]; exp_continue; }
2210         -re ".* 828 157e 01088211" { set x [expr $x+1]; exp_continue; }
2211         -re ".* 829 1582 01088281" { set x [expr $x+1]; exp_continue; }
2212         -re ".* 830 1586 010882B1" { set x [expr $x+1]; exp_continue; }
2213         -re ".* 831 158a 01088291" { set x [expr $x+1]; exp_continue; }
2214         -re ".* 832 158e 010882A1" { set x [expr $x+1]; exp_continue; }
2215         -re ".* 833 1592 010882C1" { set x [expr $x+1]; exp_continue; }
2216         -re ".* 833      1234" { set x [expr $x+1]; exp_continue; }
2217         -re ".* 834 1598 010882C9" { set x [expr $x+1]; exp_continue; }
2218         -re ".* 834      12345678" { set x [expr $x+1]; exp_continue; }
2219         -re ".* 835 15a0 010882D3" { set x [expr $x+1]; exp_continue; }
2220         -re ".* 835      1234" { set x [expr $x+1]; exp_continue; }
2221         -re ".* 836 15a6 010882E3" { set x [expr $x+1]; exp_continue; }
2222         -re ".* 836      1234" { set x [expr $x+1]; exp_continue; }
2223         -re ".* 837 15ac 010882F3" { set x [expr $x+1]; exp_continue; }
2224         -re ".* 837      1234" { set x [expr $x+1]; exp_continue; }
2225         -re ".* 838 15b2 010882DB" { set x [expr $x+1]; exp_continue; }
2226         -re ".* 838      12345678" { set x [expr $x+1]; exp_continue; }
2227         -re ".* 839 15ba 010882EB" { set x [expr $x+1]; exp_continue; }
2228         -re ".* 839      12345678" { set x [expr $x+1]; exp_continue; }
2229         -re ".* 840 15c2 010882FB" { set x [expr $x+1]; exp_continue; }
2230         -re ".* 840      12345678" { set x [expr $x+1]; exp_continue; }
2231         -re ".* 841 15ca 01088240" { set x [expr $x+1]; exp_continue; }
2232         -re ".* 841      1234" { set x [expr $x+1]; exp_continue; }
2233         -re ".* 842 15d0 01088248" { set x [expr $x+1]; exp_continue; }
2234         -re ".* 842      12345678" { set x [expr $x+1]; exp_continue; }
2235         -re ".* 843              " {
2236             if [expr $x == 26] then {
2237                 pass "$testname: mov.l @er2+, ..."
2238             } else {
2239                 fail "$testname: mov.l @er2+, ... ($x)"
2240             }
2241         }
2242         default { fail "$testname: mov.l @er2+, ... ($x)" }
2243     }
2244
2245     set x 0
2246     expect {
2247         -re ".* 844 15d8 0108A201" { set x [expr $x+1]; exp_continue; }
2248         -re ".* 845 15dc 0108A211" { set x [expr $x+1]; exp_continue; }
2249         -re ".* 846 15e0 0108A281" { set x [expr $x+1]; exp_continue; }
2250         -re ".* 847 15e4 0108A2B1" { set x [expr $x+1]; exp_continue; }
2251         -re ".* 848 15e8 0108A291" { set x [expr $x+1]; exp_continue; }
2252         -re ".* 849 15ec 0108A2A1" { set x [expr $x+1]; exp_continue; }
2253         -re ".* 850 15f0 0108A2C1" { set x [expr $x+1]; exp_continue; }
2254         -re ".* 850      1234" { set x [expr $x+1]; exp_continue; }
2255         -re ".* 851 15f6 0108A2C9" { set x [expr $x+1]; exp_continue; }
2256         -re ".* 851      12345678" { set x [expr $x+1]; exp_continue; }
2257         -re ".* 852 15fe 0108A2D3" { set x [expr $x+1]; exp_continue; }
2258         -re ".* 852      1234" { set x [expr $x+1]; exp_continue; }
2259         -re ".* 853 1604 0108A2E3" { set x [expr $x+1]; exp_continue; }
2260         -re ".* 853      1234" { set x [expr $x+1]; exp_continue; }
2261         -re ".* 854 160a 0108A2F3" { set x [expr $x+1]; exp_continue; }
2262         -re ".* 854      1234" { set x [expr $x+1]; exp_continue; }
2263         -re ".* 855 1610 0108A2DB" { set x [expr $x+1]; exp_continue; }
2264         -re ".* 855      12345678" { set x [expr $x+1]; exp_continue; }
2265         -re ".* 856 1618 0108A2EB" { set x [expr $x+1]; exp_continue; }
2266         -re ".* 856      12345678" { set x [expr $x+1]; exp_continue; }
2267         -re ".* 857 1620 0108A2FB" { set x [expr $x+1]; exp_continue; }
2268         -re ".* 857      12345678" { set x [expr $x+1]; exp_continue; }
2269         -re ".* 858 1628 0108A240" { set x [expr $x+1]; exp_continue; }
2270         -re ".* 858      1234" { set x [expr $x+1]; exp_continue; }
2271         -re ".* 859 162e 0108A248" { set x [expr $x+1]; exp_continue; }
2272         -re ".* 859      12345678" { set x [expr $x+1]; exp_continue; }
2273         -re ".* 860              " {
2274             if [expr $x == 26] then {
2275                 pass "$testname: mov.l @er2-, ..."
2276             } else {
2277                 fail "$testname: mov.l @er2-, ... ($x)"
2278             }
2279         }
2280         default { fail "$testname: mov.l @er2-, ... ($x)" }
2281     }
2282
2283     set x 0
2284     expect {
2285         -re ".* 861 1636 01089201" { set x [expr $x+1]; exp_continue; }
2286         -re ".* 862 163a 01089211" { set x [expr $x+1]; exp_continue; }
2287         -re ".* 863 163e 01089281" { set x [expr $x+1]; exp_continue; }
2288         -re ".* 864 1642 010892B1" { set x [expr $x+1]; exp_continue; }
2289         -re ".* 865 1646 01089291" { set x [expr $x+1]; exp_continue; }
2290         -re ".* 866 164a 010892A1" { set x [expr $x+1]; exp_continue; }
2291         -re ".* 867 164e 010892C1" { set x [expr $x+1]; exp_continue; }
2292         -re ".* 867      1234" { set x [expr $x+1]; exp_continue; }
2293         -re ".* 868 1654 010892C9" { set x [expr $x+1]; exp_continue; }
2294         -re ".* 868      12345678" { set x [expr $x+1]; exp_continue; }
2295         -re ".* 869 165c 010892D3" { set x [expr $x+1]; exp_continue; }
2296         -re ".* 869      1234" { set x [expr $x+1]; exp_continue; }
2297         -re ".* 870 1662 010892E3" { set x [expr $x+1]; exp_continue; }
2298         -re ".* 870      1234" { set x [expr $x+1]; exp_continue; }
2299         -re ".* 871 1668 010892F3" { set x [expr $x+1]; exp_continue; }
2300         -re ".* 871      1234" { set x [expr $x+1]; exp_continue; }
2301         -re ".* 872 166e 010892DB" { set x [expr $x+1]; exp_continue; }
2302         -re ".* 872      12345678" { set x [expr $x+1]; exp_continue; }
2303         -re ".* 873 1676 010892EB" { set x [expr $x+1]; exp_continue; }
2304         -re ".* 873      12345678" { set x [expr $x+1]; exp_continue; }
2305         -re ".* 874 167e 010892FB" { set x [expr $x+1]; exp_continue; }
2306         -re ".* 874      12345678" { set x [expr $x+1]; exp_continue; }
2307         -re ".* 875 1686 01089240" { set x [expr $x+1]; exp_continue; }
2308         -re ".* 875      1234" { set x [expr $x+1]; exp_continue; }
2309         -re ".* 876 168c 01089248" { set x [expr $x+1]; exp_continue; }
2310         -re ".* 876      12345678" { set x [expr $x+1]; exp_continue; }
2311         -re ".* 877              " {
2312             if [expr $x == 26] then {
2313                 pass "$testname: mov.l @+er2, ..."
2314             } else {
2315                 fail "$testname: mov.l @+er2, ... ($x)"
2316             }
2317         }
2318         default { fail "$testname: mov.l @+er2, ... ($x)" }
2319     }
2320
2321     set x 0
2322     expect {
2323         -re ".* 878 1694 0108C201" { set x [expr $x+1]; exp_continue; }
2324         -re ".* 878      1234" { set x [expr $x+1]; exp_continue; }
2325         -re ".* 879 169a 0108C211" { set x [expr $x+1]; exp_continue; }
2326         -re ".* 879      1234" { set x [expr $x+1]; exp_continue; }
2327         -re ".* 880 16a0 0108C281" { set x [expr $x+1]; exp_continue; }
2328         -re ".* 880      1234" { set x [expr $x+1]; exp_continue; }
2329         -re ".* 881 16a6 0108C2B1" { set x [expr $x+1]; exp_continue; }
2330         -re ".* 881      1234" { set x [expr $x+1]; exp_continue; }
2331         -re ".* 882 16ac 0108C291" { set x [expr $x+1]; exp_continue; }
2332         -re ".* 882      1234" { set x [expr $x+1]; exp_continue; }
2333         -re ".* 883 16b2 0108C2A1" { set x [expr $x+1]; exp_continue; }
2334         -re ".* 883      1234" { set x [expr $x+1]; exp_continue; }
2335         -re ".* 884 16b8 0108C2C1" { set x [expr $x+1]; exp_continue; }
2336         -re ".* 884      12349ABC" { set x [expr $x+1]; exp_continue; }
2337         -re ".* 885 16c0 0108C2C9" { set x [expr $x+1]; exp_continue; }
2338         -re ".* 885      12349ABC" { set x [expr $x+1]; exp_continue; }
2339         -re ".* 885      DEF0" { set x [expr $x+1]; exp_continue; }
2340         -re ".* 886 16ca 0108C2D3" { set x [expr $x+1]; exp_continue; }
2341         -re ".* 886      12349ABC" { set x [expr $x+1]; exp_continue; }
2342         -re ".* 887 16d2 0108C2E3" { set x [expr $x+1]; exp_continue; }
2343         -re ".* 887      12349ABC" { set x [expr $x+1]; exp_continue; }
2344         -re ".* 888 16da 0108C2F3" { set x [expr $x+1]; exp_continue; }
2345         -re ".* 888      12349ABC" { set x [expr $x+1]; exp_continue; }
2346         -re ".* 889 16e2 0108C2DB" { set x [expr $x+1]; exp_continue; }
2347         -re ".* 889      12349ABC" { set x [expr $x+1]; exp_continue; }
2348         -re ".* 889      DEF0" { set x [expr $x+1]; exp_continue; }
2349         -re ".* 890 16ec 0108C2EB" { set x [expr $x+1]; exp_continue; }
2350         -re ".* 890      12349ABC" { set x [expr $x+1]; exp_continue; }
2351         -re ".* 890      DEF0" { set x [expr $x+1]; exp_continue; }
2352         -re ".* 891 16f6 0108C2FB" { set x [expr $x+1]; exp_continue; }
2353         -re ".* 891      12349ABC" { set x [expr $x+1]; exp_continue; }
2354         -re ".* 891      DEF0" { set x [expr $x+1]; exp_continue; }
2355         -re ".* 892 1700 0108C240" { set x [expr $x+1]; exp_continue; }
2356         -re ".* 892      12349ABC" { set x [expr $x+1]; exp_continue; }
2357         -re ".* 893 1708 0108C248" { set x [expr $x+1]; exp_continue; }
2358         -re ".* 893      12349ABC" { set x [expr $x+1]; exp_continue; }
2359         -re ".* 893      DEF0" { set x [expr $x+1]; exp_continue; }
2360         -re ".* 894              " {
2361             if [expr $x == 37] then {
2362                 pass "$testname: mov.l @(0x1234:16,er2), ..."
2363             } else {
2364                 fail "$testname: mov.l @(0x1234:16,er2), ... ($x)"
2365             }
2366         }
2367         default { fail "$testname: mov.l @(0x1234:16,er2), ... ($x)" }
2368     }
2369
2370     set x 0
2371     expect {
2372         -re ".* 895 1712 0108CA01" { set x [expr $x+1]; exp_continue; }
2373         -re ".* 895      12345678" { set x [expr $x+1]; exp_continue; }
2374         -re ".* 896 171a 0108CA11" { set x [expr $x+1]; exp_continue; }
2375         -re ".* 896      12345678" { set x [expr $x+1]; exp_continue; }
2376         -re ".* 897 1722 0108CA81" { set x [expr $x+1]; exp_continue; }
2377         -re ".* 897      12345678" { set x [expr $x+1]; exp_continue; }
2378         -re ".* 898 172a 0108CAB1" { set x [expr $x+1]; exp_continue; }
2379         -re ".* 898      12345678" { set x [expr $x+1]; exp_continue; }
2380         -re ".* 899 1732 0108CA91" { set x [expr $x+1]; exp_continue; }
2381         -re ".* 899      12345678" { set x [expr $x+1]; exp_continue; }
2382         -re ".* 900 173a 0108CAA1" { set x [expr $x+1]; exp_continue; }
2383         -re ".* 900      12345678" { set x [expr $x+1]; exp_continue; }
2384         -re ".* 901 1742 0108CAC1" { set x [expr $x+1]; exp_continue; }
2385         -re ".* 901      12345678" { set x [expr $x+1]; exp_continue; }
2386         -re ".* 901      9ABC" { set x [expr $x+1]; exp_continue; }
2387         -re ".* 902 174c 0108CAC9" { set x [expr $x+1]; exp_continue; }
2388         -re ".* 902      12345678" { set x [expr $x+1]; exp_continue; }
2389         -re ".* 902      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2390         -re ".* 903 1758 0108CAD3" { set x [expr $x+1]; exp_continue; }
2391         -re ".* 903      12345678" { set x [expr $x+1]; exp_continue; }
2392         -re ".* 903      9ABC" { set x [expr $x+1]; exp_continue; }
2393         -re ".* 904 1762 0108CAE3" { set x [expr $x+1]; exp_continue; }
2394         -re ".* 904      12345678" { set x [expr $x+1]; exp_continue; }
2395         -re ".* 904      9ABC" { set x [expr $x+1]; exp_continue; }
2396         -re ".* 905 176c 0108CAF3" { set x [expr $x+1]; exp_continue; }
2397         -re ".* 905      12345678" { set x [expr $x+1]; exp_continue; }
2398         -re ".* 905      9ABC" { set x [expr $x+1]; exp_continue; }
2399         -re ".* 906 1776 0108CADB" { set x [expr $x+1]; exp_continue; }
2400         -re ".* 906      12345678" { set x [expr $x+1]; exp_continue; }
2401         -re ".* 906      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2402         -re ".* 907 1782 0108CAEB" { set x [expr $x+1]; exp_continue; }
2403         -re ".* 907      12345678" { set x [expr $x+1]; exp_continue; }
2404         -re ".* 907      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2405         -re ".* 908 178e 0108CAFB" { set x [expr $x+1]; exp_continue; }
2406         -re ".* 908      12345678" { set x [expr $x+1]; exp_continue; }
2407         -re ".* 908      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2408         -re ".* 909 179a 0108CA40" { set x [expr $x+1]; exp_continue; }
2409         -re ".* 909      12345678" { set x [expr $x+1]; exp_continue; }
2410         -re ".* 909      9ABC" { set x [expr $x+1]; exp_continue; }
2411         -re ".* 910 17a4 0108CA48" { set x [expr $x+1]; exp_continue; }
2412         -re ".* 910      12345678" { set x [expr $x+1]; exp_continue; }
2413         -re ".* 910      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2414         -re ".* 911              " {
2415             if [expr $x == 42] then {
2416                 pass "$testname: mov.l @(0x12345678:32,er2), ..."
2417             } else {
2418                 fail "$testname: mov.l @(0x12345678:32,er2), ... ($x)"
2419             }
2420         }
2421         default { fail "$testname: mov.l @(0x12345678:32,er2), ... ($x)" }
2422     }
2423
2424     set x 0
2425     expect {
2426         -re ".* 912 17b0 0108D301" { set x [expr $x+1]; exp_continue; }
2427         -re ".* 912      1234" { set x [expr $x+1]; exp_continue; }
2428         -re ".* 913 17b6 0108D311" { set x [expr $x+1]; exp_continue; }
2429         -re ".* 913      1234" { set x [expr $x+1]; exp_continue; }
2430         -re ".* 914 17bc 0108D381" { set x [expr $x+1]; exp_continue; }
2431         -re ".* 914      1234" { set x [expr $x+1]; exp_continue; }
2432         -re ".* 915 17c2 0108D3B1" { set x [expr $x+1]; exp_continue; }
2433         -re ".* 915      1234" { set x [expr $x+1]; exp_continue; }
2434         -re ".* 916 17c8 0108D391" { set x [expr $x+1]; exp_continue; }
2435         -re ".* 916      1234" { set x [expr $x+1]; exp_continue; }
2436         -re ".* 917 17ce 0108D3A1" { set x [expr $x+1]; exp_continue; }
2437         -re ".* 917      1234" { set x [expr $x+1]; exp_continue; }
2438         -re ".* 918 17d4 0108D3C1" { set x [expr $x+1]; exp_continue; }
2439         -re ".* 918      12349ABC" { set x [expr $x+1]; exp_continue; }
2440         -re ".* 919 17dc 0108D3C9" { set x [expr $x+1]; exp_continue; }
2441         -re ".* 919      12349ABC" { set x [expr $x+1]; exp_continue; }
2442         -re ".* 919      DEF0" { set x [expr $x+1]; exp_continue; }
2443         -re ".* 920 17e6 0108D3D3" { set x [expr $x+1]; exp_continue; }
2444         -re ".* 920      12349ABC" { set x [expr $x+1]; exp_continue; }
2445         -re ".* 921 17ee 0108D3E3" { set x [expr $x+1]; exp_continue; }
2446         -re ".* 921      12349ABC" { set x [expr $x+1]; exp_continue; }
2447         -re ".* 922 17f6 0108D3F3" { set x [expr $x+1]; exp_continue; }
2448         -re ".* 922      12349ABC" { set x [expr $x+1]; exp_continue; }
2449         -re ".* 923 17fe 0108D3DB" { set x [expr $x+1]; exp_continue; }
2450         -re ".* 923      12349ABC" { set x [expr $x+1]; exp_continue; }
2451         -re ".* 923      DEF0" { set x [expr $x+1]; exp_continue; }
2452         -re ".* 924 1808 0108D3EB" { set x [expr $x+1]; exp_continue; }
2453         -re ".* 924      12349ABC" { set x [expr $x+1]; exp_continue; }
2454         -re ".* 924      DEF0" { set x [expr $x+1]; exp_continue; }
2455         -re ".* 925 1812 0108D3FB" { set x [expr $x+1]; exp_continue; }
2456         -re ".* 925      12349ABC" { set x [expr $x+1]; exp_continue; }
2457         -re ".* 925      DEF0" { set x [expr $x+1]; exp_continue; }
2458         -re ".* 926 181c 0108D340" { set x [expr $x+1]; exp_continue; }
2459         -re ".* 926      12349ABC" { set x [expr $x+1]; exp_continue; }
2460         -re ".* 927 1824 0108D348" { set x [expr $x+1]; exp_continue; }
2461         -re ".* 927      12349ABC" { set x [expr $x+1]; exp_continue; }
2462         -re ".* 927      DEF0" { set x [expr $x+1]; exp_continue; }
2463         -re ".* 928              " {
2464             if [expr $x == 37] then {
2465                 pass "$testname: mov.l @(0x1234:16,r3l.b), ..."
2466             } else {
2467                 fail "$testname: mov.l @(0x1234:16,r3l.b), ... ($x)"
2468             }
2469         }
2470         default { fail "$testname: mov.l @(0x1234:16,r3l.b), ... ($x)" }
2471     }
2472
2473     set x 0
2474     expect {
2475         -re ".* 929 182e 0108E301" { set x [expr $x+1]; exp_continue; }
2476         -re ".* 929      1234" { set x [expr $x+1]; exp_continue; }
2477         -re ".* 930 1834 0108E311" { set x [expr $x+1]; exp_continue; }
2478         -re ".* 930      1234" { set x [expr $x+1]; exp_continue; }
2479         -re ".* 931 183a 0108E381" { set x [expr $x+1]; exp_continue; }
2480         -re ".* 931      1234" { set x [expr $x+1]; exp_continue; }
2481         -re ".* 932 1840 0108E3B1" { set x [expr $x+1]; exp_continue; }
2482         -re ".* 932      1234" { set x [expr $x+1]; exp_continue; }
2483         -re ".* 933 1846 0108E391" { set x [expr $x+1]; exp_continue; }
2484         -re ".* 933      1234" { set x [expr $x+1]; exp_continue; }
2485         -re ".* 934 184c 0108E3A1" { set x [expr $x+1]; exp_continue; }
2486         -re ".* 934      1234" { set x [expr $x+1]; exp_continue; }
2487         -re ".* 935 1852 0108E3C1" { set x [expr $x+1]; exp_continue; }
2488         -re ".* 935      12349ABC" { set x [expr $x+1]; exp_continue; }
2489         -re ".* 936 185a 0108E3C9" { set x [expr $x+1]; exp_continue; }
2490         -re ".* 936      12349ABC" { set x [expr $x+1]; exp_continue; }
2491         -re ".* 936      DEF0" { set x [expr $x+1]; exp_continue; }
2492         -re ".* 937 1864 0108E3D3" { set x [expr $x+1]; exp_continue; }
2493         -re ".* 937      12349ABC" { set x [expr $x+1]; exp_continue; }
2494         -re ".* 938 186c 0108E3E3" { set x [expr $x+1]; exp_continue; }
2495         -re ".* 938      12349ABC" { set x [expr $x+1]; exp_continue; }
2496         -re ".* 939 1874 0108E3F3" { set x [expr $x+1]; exp_continue; }
2497         -re ".* 939      12349ABC" { set x [expr $x+1]; exp_continue; }
2498         -re ".* 940 187c 0108E3DB" { set x [expr $x+1]; exp_continue; }
2499         -re ".* 940      12349ABC" { set x [expr $x+1]; exp_continue; }
2500         -re ".* 940      DEF0" { set x [expr $x+1]; exp_continue; }
2501         -re ".* 941 1886 0108E3EB" { set x [expr $x+1]; exp_continue; }
2502         -re ".* 941      12349ABC" { set x [expr $x+1]; exp_continue; }
2503         -re ".* 941      DEF0" { set x [expr $x+1]; exp_continue; }
2504         -re ".* 942 1890 0108E3FB" { set x [expr $x+1]; exp_continue; }
2505         -re ".* 942      12349ABC" { set x [expr $x+1]; exp_continue; }
2506         -re ".* 942      DEF0" { set x [expr $x+1]; exp_continue; }
2507         -re ".* 943 189a 0108E340" { set x [expr $x+1]; exp_continue; }
2508         -re ".* 943      12349ABC" { set x [expr $x+1]; exp_continue; }
2509         -re ".* 944 18a2 0108E348" { set x [expr $x+1]; exp_continue; }
2510         -re ".* 944      12349ABC" { set x [expr $x+1]; exp_continue; }
2511         -re ".* 944      DEF0" { set x [expr $x+1]; exp_continue; }
2512         -re ".* 945              " {
2513             if [expr $x == 37] then {
2514                 pass "$testname: mov.l @(0x1234:16,r3.w), ..."
2515             } else {
2516                 fail "$testname: mov.l @(0x1234:16,r3.w), ... ($x)"
2517             }
2518         }
2519         default { fail "$testname: mov.l @(0x1234:16,r3.w), ... ($x)" }
2520     }
2521
2522     set x 0
2523     expect {
2524         -re ".* 946 18ac 0108F301" { set x [expr $x+1]; exp_continue; }
2525         -re ".* 946      1234" { set x [expr $x+1]; exp_continue; }
2526         -re ".* 947 18b2 0108F311" { set x [expr $x+1]; exp_continue; }
2527         -re ".* 947      1234" { set x [expr $x+1]; exp_continue; }
2528         -re ".* 948 18b8 0108F381" { set x [expr $x+1]; exp_continue; }
2529         -re ".* 948      1234" { set x [expr $x+1]; exp_continue; }
2530         -re ".* 949 18be 0108F3B1" { set x [expr $x+1]; exp_continue; }
2531         -re ".* 949      1234" { set x [expr $x+1]; exp_continue; }
2532         -re ".* 950 18c4 0108F391" { set x [expr $x+1]; exp_continue; }
2533         -re ".* 950      1234" { set x [expr $x+1]; exp_continue; }
2534         -re ".* 951 18ca 0108F3A1" { set x [expr $x+1]; exp_continue; }
2535         -re ".* 951      1234" { set x [expr $x+1]; exp_continue; }
2536         -re ".* 952 18d0 0108F3C1" { set x [expr $x+1]; exp_continue; }
2537         -re ".* 952      12349ABC" { set x [expr $x+1]; exp_continue; }
2538         -re ".* 953 18d8 0108F3C9" { set x [expr $x+1]; exp_continue; }
2539         -re ".* 953      12349ABC" { set x [expr $x+1]; exp_continue; }
2540         -re ".* 953      DEF0" { set x [expr $x+1]; exp_continue; }
2541         -re ".* 954 18e2 0108F3D3" { set x [expr $x+1]; exp_continue; }
2542         -re ".* 954      12349ABC" { set x [expr $x+1]; exp_continue; }
2543         -re ".* 955 18ea 0108F3E3" { set x [expr $x+1]; exp_continue; }
2544         -re ".* 955      12349ABC" { set x [expr $x+1]; exp_continue; }
2545         -re ".* 956 18f2 0108F3F3" { set x [expr $x+1]; exp_continue; }
2546         -re ".* 956      12349ABC" { set x [expr $x+1]; exp_continue; }
2547         -re ".* 957 18fa 0108F3DB" { set x [expr $x+1]; exp_continue; }
2548         -re ".* 957      12349ABC" { set x [expr $x+1]; exp_continue; }
2549         -re ".* 957      DEF0" { set x [expr $x+1]; exp_continue; }
2550         -re ".* 958 1904 0108F3EB" { set x [expr $x+1]; exp_continue; }
2551         -re ".* 958      12349ABC" { set x [expr $x+1]; exp_continue; }
2552         -re ".* 958      DEF0" { set x [expr $x+1]; exp_continue; }
2553         -re ".* 959 190e 0108F3FB" { set x [expr $x+1]; exp_continue; }
2554         -re ".* 959      12349ABC" { set x [expr $x+1]; exp_continue; }
2555         -re ".* 959      DEF0" { set x [expr $x+1]; exp_continue; }
2556         -re ".* 960 1918 0108F340" { set x [expr $x+1]; exp_continue; }
2557         -re ".* 960      12349ABC" { set x [expr $x+1]; exp_continue; }
2558         -re ".* 961 1920 0108F348" { set x [expr $x+1]; exp_continue; }
2559         -re ".* 961      12349ABC" { set x [expr $x+1]; exp_continue; }
2560         -re ".* 961      DEF0" { set x [expr $x+1]; exp_continue; }
2561         -re ".* 962              " {
2562             if [expr $x == 37] then {
2563                 pass "$testname: mov.l @(0x1234:16,er3.l), ..."
2564             } else {
2565                 fail "$testname: mov.l @(0x1234:16,er3.l), ... ($x)"
2566             }
2567         }
2568         default { fail "$testname: mov.l @(0x1234:16,er3.l), ... ($x)" }
2569     }
2570
2571     set x 0
2572     expect {
2573         -re ".* 963 192a 0108DB01" { set x [expr $x+1]; exp_continue; }
2574         -re ".* 963      12345678" { set x [expr $x+1]; exp_continue; }
2575         -re ".* 964 1932 0108DB11" { set x [expr $x+1]; exp_continue; }
2576         -re ".* 964      12345678" { set x [expr $x+1]; exp_continue; }
2577         -re ".* 965 193a 0108DB81" { set x [expr $x+1]; exp_continue; }
2578         -re ".* 965      12345678" { set x [expr $x+1]; exp_continue; }
2579         -re ".* 966 1942 0108DBB1" { set x [expr $x+1]; exp_continue; }
2580         -re ".* 966      12345678" { set x [expr $x+1]; exp_continue; }
2581         -re ".* 967 194a 0108DB91" { set x [expr $x+1]; exp_continue; }
2582         -re ".* 967      12345678" { set x [expr $x+1]; exp_continue; }
2583         -re ".* 968 1952 0108DBA1" { set x [expr $x+1]; exp_continue; }
2584         -re ".* 968      12345678" { set x [expr $x+1]; exp_continue; }
2585         -re ".* 969 195a 0108DBC1" { set x [expr $x+1]; exp_continue; }
2586         -re ".* 969      12345678" { set x [expr $x+1]; exp_continue; }
2587         -re ".* 969      9ABC" { set x [expr $x+1]; exp_continue; }
2588         -re ".* 970 1964 0108DBC9" { set x [expr $x+1]; exp_continue; }
2589         -re ".* 970      12345678" { set x [expr $x+1]; exp_continue; }
2590         -re ".* 970      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2591         -re ".* 971 1970 0108DBD3" { set x [expr $x+1]; exp_continue; }
2592         -re ".* 971      12345678" { set x [expr $x+1]; exp_continue; }
2593         -re ".* 971      9ABC" { set x [expr $x+1]; exp_continue; }
2594         -re ".* 972 197a 0108DBE3" { set x [expr $x+1]; exp_continue; }
2595         -re ".* 972      12345678" { set x [expr $x+1]; exp_continue; }
2596         -re ".* 972      9ABC" { set x [expr $x+1]; exp_continue; }
2597         -re ".* 973 1984 0108DBF3" { set x [expr $x+1]; exp_continue; }
2598         -re ".* 973      12345678" { set x [expr $x+1]; exp_continue; }
2599         -re ".* 973      9ABC" { set x [expr $x+1]; exp_continue; }
2600         -re ".* 974 198e 0108DBDB" { set x [expr $x+1]; exp_continue; }
2601         -re ".* 974      12345678" { set x [expr $x+1]; exp_continue; }
2602         -re ".* 974      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2603         -re ".* 975 199a 0108DBEB" { set x [expr $x+1]; exp_continue; }
2604         -re ".* 975      12345678" { set x [expr $x+1]; exp_continue; }
2605         -re ".* 975      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2606         -re ".* 976 19a6 0108DBFB" { set x [expr $x+1]; exp_continue; }
2607         -re ".* 976      12345678" { set x [expr $x+1]; exp_continue; }
2608         -re ".* 976      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2609         -re ".* 977 19b2 0108DB40" { set x [expr $x+1]; exp_continue; }
2610         -re ".* 977      12345678" { set x [expr $x+1]; exp_continue; }
2611         -re ".* 977      9ABC" { set x [expr $x+1]; exp_continue; }
2612         -re ".* 978 19bc 0108DB48" { set x [expr $x+1]; exp_continue; }
2613         -re ".* 978      12345678" { set x [expr $x+1]; exp_continue; }
2614         -re ".* 978      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2615         -re ".* 979              " {
2616             if [expr $x == 42] then {
2617                 pass "$testname: mov.l @(0x12345678:32,r3l.b), ..."
2618             } else {
2619                 fail "$testname: mov.l @(0x12345678:32,r3l.b), ... ($x)"
2620             }
2621         }
2622         default { fail "$testname: mov.l @(0x12345678:32,r3l.b), ... ($x)" }
2623     }
2624
2625     set x 0
2626     expect {
2627         -re ".* 980 19c8 0108EB01" { set x [expr $x+1]; exp_continue; }
2628         -re ".* 980      12345678" { set x [expr $x+1]; exp_continue; }
2629         -re ".* 981 19d0 0108EB11" { set x [expr $x+1]; exp_continue; }
2630         -re ".* 981      12345678" { set x [expr $x+1]; exp_continue; }
2631         -re ".* 982 19d8 0108EB81" { set x [expr $x+1]; exp_continue; }
2632         -re ".* 982      12345678" { set x [expr $x+1]; exp_continue; }
2633         -re ".* 983 19e0 0108EBB1" { set x [expr $x+1]; exp_continue; }
2634         -re ".* 983      12345678" { set x [expr $x+1]; exp_continue; }
2635         -re ".* 984 19e8 0108EB91" { set x [expr $x+1]; exp_continue; }
2636         -re ".* 984      12345678" { set x [expr $x+1]; exp_continue; }
2637         -re ".* 985 19f0 0108EBA1" { set x [expr $x+1]; exp_continue; }
2638         -re ".* 985      12345678" { set x [expr $x+1]; exp_continue; }
2639         -re ".* 986 19f8 0108EBC1" { set x [expr $x+1]; exp_continue; }
2640         -re ".* 986      12345678" { set x [expr $x+1]; exp_continue; }
2641         -re ".* 986      9ABC" { set x [expr $x+1]; exp_continue; }
2642         -re ".* 987 1a02 0108EBC9" { set x [expr $x+1]; exp_continue; }
2643         -re ".* 987      12345678" { set x [expr $x+1]; exp_continue; }
2644         -re ".* 987      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2645         -re ".* 988 1a0e 0108EBD3" { set x [expr $x+1]; exp_continue; }
2646         -re ".* 988      12345678" { set x [expr $x+1]; exp_continue; }
2647         -re ".* 988      9ABC" { set x [expr $x+1]; exp_continue; }
2648         -re ".* 989 1a18 0108EBE3" { set x [expr $x+1]; exp_continue; }
2649         -re ".* 989      12345678" { set x [expr $x+1]; exp_continue; }
2650         -re ".* 989      9ABC" { set x [expr $x+1]; exp_continue; }
2651         -re ".* 990 1a22 0108EBF3" { set x [expr $x+1]; exp_continue; }
2652         -re ".* 990      12345678" { set x [expr $x+1]; exp_continue; }
2653         -re ".* 990      9ABC" { set x [expr $x+1]; exp_continue; }
2654         -re ".* 991 1a2c 0108EBDB" { set x [expr $x+1]; exp_continue; }
2655         -re ".* 991      12345678" { set x [expr $x+1]; exp_continue; }
2656         -re ".* 991      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2657         -re ".* 992 1a38 0108EBEB" { set x [expr $x+1]; exp_continue; }
2658         -re ".* 992      12345678" { set x [expr $x+1]; exp_continue; }
2659         -re ".* 992      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2660         -re ".* 993 1a44 0108EBFB" { set x [expr $x+1]; exp_continue; }
2661         -re ".* 993      12345678" { set x [expr $x+1]; exp_continue; }
2662         -re ".* 993      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2663         -re ".* 994 1a50 0108EB40" { set x [expr $x+1]; exp_continue; }
2664         -re ".* 994      12345678" { set x [expr $x+1]; exp_continue; }
2665         -re ".* 994      9ABC" { set x [expr $x+1]; exp_continue; }
2666         -re ".* 995 1a5a 0108EB48" { set x [expr $x+1]; exp_continue; }
2667         -re ".* 995      12345678" { set x [expr $x+1]; exp_continue; }
2668         -re ".* 995      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2669         -re ".* 996              " {
2670             if [expr $x == 42] then {
2671                 pass "$testname: mov.l @(0x12345678:32,r3.w), ..."
2672             } else {
2673                 fail "$testname: mov.l @(0x12345678:32,r3.w), ... ($x)"
2674             }
2675         }
2676         default { fail "$testname: mov.l @(0x12345678:32,r3.w), ... ($x)" }
2677     }
2678
2679     set x 0
2680     expect {
2681         -re ".* 997 1a66 0108FB01" { set x [expr $x+1]; exp_continue; }
2682         -re ".* 997      12345678" { set x [expr $x+1]; exp_continue; }
2683         -re ".* 998 1a6e 0108FB11" { set x [expr $x+1]; exp_continue; }
2684         -re ".* 998      12345678" { set x [expr $x+1]; exp_continue; }
2685         -re ".* 999 1a76 0108FB81" { set x [expr $x+1]; exp_continue; }
2686         -re ".* 999      12345678" { set x [expr $x+1]; exp_continue; }
2687         -re ".* 1000 1a7e 0108FBB1" { set x [expr $x+1]; exp_continue; }
2688         -re ".* 1000      12345678" { set x [expr $x+1]; exp_continue; }
2689         -re ".* 1001 1a86 0108FB91" { set x [expr $x+1]; exp_continue; }
2690         -re ".* 1001      12345678" { set x [expr $x+1]; exp_continue; }
2691         -re ".* 1002 1a8e 0108FBA1" { set x [expr $x+1]; exp_continue; }
2692         -re ".* 1002      12345678" { set x [expr $x+1]; exp_continue; }
2693         -re ".* 1003 1a96 0108FBC1" { set x [expr $x+1]; exp_continue; }
2694         -re ".* 1003      12345678" { set x [expr $x+1]; exp_continue; }
2695         -re ".* 1003      9ABC" { set x [expr $x+1]; exp_continue; }
2696         -re ".* 1004 1aa0 0108FBC9" { set x [expr $x+1]; exp_continue; }
2697         -re ".* 1004      12345678" { set x [expr $x+1]; exp_continue; }
2698         -re ".* 1004      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2699         -re ".* 1005 1aac 0108FBD3" { set x [expr $x+1]; exp_continue; }
2700         -re ".* 1005      12345678" { set x [expr $x+1]; exp_continue; }
2701         -re ".* 1005      9ABC" { set x [expr $x+1]; exp_continue; }
2702         -re ".* 1006 1ab6 0108FBE3" { set x [expr $x+1]; exp_continue; }
2703         -re ".* 1006      12345678" { set x [expr $x+1]; exp_continue; }
2704         -re ".* 1006      9ABC" { set x [expr $x+1]; exp_continue; }
2705         -re ".* 1007 1ac0 0108FBF3" { set x [expr $x+1]; exp_continue; }
2706         -re ".* 1007      12345678" { set x [expr $x+1]; exp_continue; }
2707         -re ".* 1007      9ABC" { set x [expr $x+1]; exp_continue; }
2708         -re ".* 1008 1aca 0108FBDB" { set x [expr $x+1]; exp_continue; }
2709         -re ".* 1008      12345678" { set x [expr $x+1]; exp_continue; }
2710         -re ".* 1008      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2711         -re ".* 1009 1ad6 0108FBEB" { set x [expr $x+1]; exp_continue; }
2712         -re ".* 1009      12345678" { set x [expr $x+1]; exp_continue; }
2713         -re ".* 1009      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2714         -re ".* 1010 1ae2 0108FBFB" { set x [expr $x+1]; exp_continue; }
2715         -re ".* 1010      12345678" { set x [expr $x+1]; exp_continue; }
2716         -re ".* 1010      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2717         -re ".* 1011 1aee 0108FB40" { set x [expr $x+1]; exp_continue; }
2718         -re ".* 1011      12345678" { set x [expr $x+1]; exp_continue; }
2719         -re ".* 1011      9ABC" { set x [expr $x+1]; exp_continue; }
2720         -re ".* 1012 1af8 0108FB48" { set x [expr $x+1]; exp_continue; }
2721         -re ".* 1012      12345678" { set x [expr $x+1]; exp_continue; }
2722         -re ".* 1012      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2723         -re ".* 1013             " {
2724             if [expr $x == 42] then {
2725                 pass "$testname: mov.l @(0x12345678:32,er3.l), ..."
2726             } else {
2727                 fail "$testname: mov.l @(0x12345678:32,er3.l), ... ($x)"
2728             }
2729         }
2730         default { fail "$testname: mov.l @(0x12345678:32,er3.l), ... ($x)" }
2731     }
2732
2733     set x 0
2734     expect {
2735         -re ".* 1014 1b04 01084001" { set x [expr $x+1]; exp_continue; }
2736         -re ".* 1014      1234" { set x [expr $x+1]; exp_continue; }
2737         -re ".* 1015 1b0a 01084011" { set x [expr $x+1]; exp_continue; }
2738         -re ".* 1015      1234" { set x [expr $x+1]; exp_continue; }
2739         -re ".* 1016 1b10 01084081" { set x [expr $x+1]; exp_continue; }
2740         -re ".* 1016      1234" { set x [expr $x+1]; exp_continue; }
2741         -re ".* 1017 1b16 010840B1" { set x [expr $x+1]; exp_continue; }
2742         -re ".* 1017      1234" { set x [expr $x+1]; exp_continue; }
2743         -re ".* 1018 1b1c 01084091" { set x [expr $x+1]; exp_continue; }
2744         -re ".* 1018      1234" { set x [expr $x+1]; exp_continue; }
2745         -re ".* 1019 1b22 010840A1" { set x [expr $x+1]; exp_continue; }
2746         -re ".* 1019      1234" { set x [expr $x+1]; exp_continue; }
2747         -re ".* 1020 1b28 010840C1" { set x [expr $x+1]; exp_continue; }
2748         -re ".* 1020      12349ABC" { set x [expr $x+1]; exp_continue; }
2749         -re ".* 1021 1b30 010840C9" { set x [expr $x+1]; exp_continue; }
2750         -re ".* 1021      12349ABC" { set x [expr $x+1]; exp_continue; }
2751         -re ".* 1021      DEF0" { set x [expr $x+1]; exp_continue; }
2752         -re ".* 1022 1b3a 010840D3" { set x [expr $x+1]; exp_continue; }
2753         -re ".* 1022      12349ABC" { set x [expr $x+1]; exp_continue; }
2754         -re ".* 1023 1b42 010840E3" { set x [expr $x+1]; exp_continue; }
2755         -re ".* 1023      12349ABC" { set x [expr $x+1]; exp_continue; }
2756         -re ".* 1024 1b4a 010840F3" { set x [expr $x+1]; exp_continue; }
2757         -re ".* 1024      12349ABC" { set x [expr $x+1]; exp_continue; }
2758         -re ".* 1025 1b52 010840DB" { set x [expr $x+1]; exp_continue; }
2759         -re ".* 1025      12349ABC" { set x [expr $x+1]; exp_continue; }
2760         -re ".* 1025      DEF0" { set x [expr $x+1]; exp_continue; }
2761         -re ".* 1026 1b5c 010840EB" { set x [expr $x+1]; exp_continue; }
2762         -re ".* 1026      12349ABC" { set x [expr $x+1]; exp_continue; }
2763         -re ".* 1026      DEF0" { set x [expr $x+1]; exp_continue; }
2764         -re ".* 1027 1b66 010840FB" { set x [expr $x+1]; exp_continue; }
2765         -re ".* 1027      12349ABC" { set x [expr $x+1]; exp_continue; }
2766         -re ".* 1027      DEF0" { set x [expr $x+1]; exp_continue; }
2767         -re ".* 1028 1b70 01084040" { set x [expr $x+1]; exp_continue; }
2768         -re ".* 1028      12349ABC" { set x [expr $x+1]; exp_continue; }
2769         -re ".* 1029 1b78 01084048" { set x [expr $x+1]; exp_continue; }
2770         -re ".* 1029      12349ABC" { set x [expr $x+1]; exp_continue; }
2771         -re ".* 1029      DEF0" { set x [expr $x+1]; exp_continue; }
2772         -re ".* 1030             " {
2773             if [expr $x == 37] then {
2774                 pass "$testname: mov.l @0x1234:16, ..."
2775             } else {
2776                 fail "$testname: mov.l @0x1234:16, ... ($x)"
2777             }
2778         }
2779         default { fail "$testname: mov.l @0x1234:16, ... ($x)" }
2780     }
2781
2782     set x 0
2783     expect {
2784         -re ".* 1031 1b82 01084801" { set x [expr $x+1]; exp_continue; }
2785         -re ".* 1031      12345678" { set x [expr $x+1]; exp_continue; }
2786         -re ".* 1032 1b8a 01084811" { set x [expr $x+1]; exp_continue; }
2787         -re ".* 1032      12345678" { set x [expr $x+1]; exp_continue; }
2788         -re ".* 1033 1b92 01084881" { set x [expr $x+1]; exp_continue; }
2789         -re ".* 1033      12345678" { set x [expr $x+1]; exp_continue; }
2790         -re ".* 1034 1b9a 010848B1" { set x [expr $x+1]; exp_continue; }
2791         -re ".* 1034      12345678" { set x [expr $x+1]; exp_continue; }
2792         -re ".* 1035 1ba2 01084891" { set x [expr $x+1]; exp_continue; }
2793         -re ".* 1035      12345678" { set x [expr $x+1]; exp_continue; }
2794         -re ".* 1036 1baa 010848A1" { set x [expr $x+1]; exp_continue; }
2795         -re ".* 1036      12345678" { set x [expr $x+1]; exp_continue; }
2796         -re ".* 1037 1bb2 010848C1" { set x [expr $x+1]; exp_continue; }
2797         -re ".* 1037      12345678" { set x [expr $x+1]; exp_continue; }
2798         -re ".* 1037      9ABC" { set x [expr $x+1]; exp_continue; }
2799         -re ".* 1038 1bbc 010848C9" { set x [expr $x+1]; exp_continue; }
2800         -re ".* 1038      12345678" { set x [expr $x+1]; exp_continue; }
2801         -re ".* 1038      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2802         -re ".* 1039 1bc8 010848D3" { set x [expr $x+1]; exp_continue; }
2803         -re ".* 1039      12345678" { set x [expr $x+1]; exp_continue; }
2804         -re ".* 1039      9ABC" { set x [expr $x+1]; exp_continue; }
2805         -re ".* 1040 1bd2 010848E3" { set x [expr $x+1]; exp_continue; }
2806         -re ".* 1040      12345678" { set x [expr $x+1]; exp_continue; }
2807         -re ".* 1040      9ABC" { set x [expr $x+1]; exp_continue; }
2808         -re ".* 1041 1bdc 010848F3" { set x [expr $x+1]; exp_continue; }
2809         -re ".* 1041      12345678" { set x [expr $x+1]; exp_continue; }
2810         -re ".* 1041      9ABC" { set x [expr $x+1]; exp_continue; }
2811         -re ".* 1042 1be6 010848DB" { set x [expr $x+1]; exp_continue; }
2812         -re ".* 1042      12345678" { set x [expr $x+1]; exp_continue; }
2813         -re ".* 1042      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2814         -re ".* 1043 1bf2 010848EB" { set x [expr $x+1]; exp_continue; }
2815         -re ".* 1043      12345678" { set x [expr $x+1]; exp_continue; }
2816         -re ".* 1043      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2817         -re ".* 1044 1bfe 010848FB" { set x [expr $x+1]; exp_continue; }
2818         -re ".* 1044      12345678" { set x [expr $x+1]; exp_continue; }
2819         -re ".* 1044      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2820         -re ".* 1045 1c0a 01084840" { set x [expr $x+1]; exp_continue; }
2821         -re ".* 1045      12345678" { set x [expr $x+1]; exp_continue; }
2822         -re ".* 1045      9ABC" { set x [expr $x+1]; exp_continue; }
2823         -re ".* 1046 1c14 01084848" { set x [expr $x+1]; exp_continue; }
2824         -re ".* 1046      12345678" { set x [expr $x+1]; exp_continue; }
2825         -re ".* 1046      9ABCDEF0" { set x [expr $x+1]; exp_continue; }
2826         -re ".* 1047             " {
2827             if [expr $x == 42] then {
2828                 pass "$testname: mov.l @0x12345678:32, ..."
2829             } else {
2830                 fail "$testname: mov.l @0x12345678:32, ... ($x)"
2831             }
2832         }
2833         default { fail "$testname: mov.l @0x12345678:32, ... ($x)" }
2834     }
2835
2836     set x 0
2837     expect {
2838         -re ".* 1048 1c20 6AC21234" { set x [expr $x+1]; exp_continue; }
2839         -re ".* 1049 1c24 6A411234" { set x [expr $x+1]; exp_continue; }
2840         -re ".* 1050             " {
2841             if [expr $x == 2] then {
2842                 pass "$testname: movfpe / movtpe"
2843             } else {
2844                 fail "$testname: movfpe / movtpe ($x)"
2845             }
2846         }
2847         default { fail "$testname: movfpe / movtpe ($x)" }
2848     }
2849
2850     set x 0
2851     expect {
2852         -re ".* 1051 1c28 01106D71" { set x [expr $x+1]; exp_continue; }
2853         -re ".* 1052 1c2c 01106D72" { set x [expr $x+1]; exp_continue; }
2854         -re ".* 1053 1c30 01106D73" { set x [expr $x+1]; exp_continue; }
2855         -re ".* 1054 1c34 01106D74" { set x [expr $x+1]; exp_continue; }
2856         -re ".* 1055 1c38 01106D75" { set x [expr $x+1]; exp_continue; }
2857         -re ".* 1056 1c3c 01106D76" { set x [expr $x+1]; exp_continue; }
2858         -re ".* 1057 1c40 01106D77" { set x [expr $x+1]; exp_continue; }
2859         -re ".* 1058             " {
2860             if [expr $x == 7] then {
2861                 pass "$testname: ldm @sp+,(er0-er1)"
2862             } else {
2863                 fail "$testname: ldm @sp+,(er0-er1) ($x)"
2864             }
2865         }
2866         default { fail "$testname: ldm @sp+,(er0-er1) ($x)" }
2867     }
2868
2869     set x 0
2870     expect {
2871         -re ".* 1059 1c44 01206D72" { set x [expr $x+1]; exp_continue; }
2872         -re ".* 1060 1c48 01206D73" { set x [expr $x+1]; exp_continue; }
2873         -re ".* 1061 1c4c 01206D74" { set x [expr $x+1]; exp_continue; }
2874         -re ".* 1062 1c50 01206D75" { set x [expr $x+1]; exp_continue; }
2875         -re ".* 1063 1c54 01206D76" { set x [expr $x+1]; exp_continue; }
2876         -re ".* 1064 1c58 01206D77" { set x [expr $x+1]; exp_continue; }
2877         -re ".* 1065             " {
2878             if [expr $x == 6] then {
2879                 pass "$testname: ldm @sp+,(er0-er2)"
2880             } else {
2881                 fail "$testname: ldm @sp+,(er0-er2) ($x)"
2882             }
2883         }
2884         default { fail "$testname: ldm @sp+,(er0-er2) ($x)" }
2885     }
2886
2887     set x 0
2888     expect {
2889         -re ".* 1066 1c5c 01306D73" { set x [expr $x+1]; exp_continue; }
2890         -re ".* 1067 1c60 01306D74" { set x [expr $x+1]; exp_continue; }
2891         -re ".* 1068 1c64 01306D75" { set x [expr $x+1]; exp_continue; }
2892         -re ".* 1069 1c68 01306D76" { set x [expr $x+1]; exp_continue; }
2893         -re ".* 1070 1c6c 01306D77" { set x [expr $x+1]; exp_continue; }
2894         -re ".* 1071             " {
2895             if [expr $x == 5] then {
2896                 pass "$testname: ldm @sp+,(er0-er3)"
2897             } else {
2898                 fail "$testname: ldm @sp+,(er0-er3) ($x)"
2899             }
2900         }
2901         default { fail "$testname: ldm @sp+,(er0-er3) ($x)" }
2902     }
2903
2904     set x 0
2905     expect {
2906         -re ".* 1072 1c70 01106DF0" { set x [expr $x+1]; exp_continue; }
2907         -re ".* 1073 1c74 01106DF1" { set x [expr $x+1]; exp_continue; }
2908         -re ".* 1074 1c78 01106DF2" { set x [expr $x+1]; exp_continue; }
2909         -re ".* 1075 1c7c 01106DF3" { set x [expr $x+1]; exp_continue; }
2910         -re ".* 1076 1c80 01106DF4" { set x [expr $x+1]; exp_continue; }
2911         -re ".* 1077 1c84 01106DF5" { set x [expr $x+1]; exp_continue; }
2912         -re ".* 1078 1c88 01106DF6" { set x [expr $x+1]; exp_continue; }
2913         -re ".* 1079             " {
2914             if [expr $x == 7] then {
2915                 pass "$testname: stm (er0-er1),@-sp"
2916             } else {
2917                 fail "$testname: stm (er0-er1),@-sp ($x)"
2918             }
2919         }
2920         default { fail "$testname: stm (er0-er1),@-sp ($x)" }
2921     }
2922
2923     set x 0
2924     expect {
2925         -re ".* 1080 1c8c 01206DF0" { set x [expr $x+1]; exp_continue; }
2926         -re ".* 1081 1c90 01206DF1" { set x [expr $x+1]; exp_continue; }
2927         -re ".* 1082 1c94 01206DF2" { set x [expr $x+1]; exp_continue; }
2928         -re ".* 1083 1c98 01206DF3" { set x [expr $x+1]; exp_continue; }
2929         -re ".* 1084 1c9c 01206DF4" { set x [expr $x+1]; exp_continue; }
2930         -re ".* 1085 1ca0 01206DF5" { set x [expr $x+1]; exp_continue; }
2931         -re ".* 1086             " {
2932             if [expr $x == 6] then {
2933                 pass "$testname: stm (er0-er2),@-sp"
2934             } else {
2935                 fail "$testname: stm (er0-er2),@-sp ($x)"
2936             }
2937         }
2938         default { fail "$testname: stm (er0-er2),@-sp ($x)" }
2939     }
2940
2941     set x 0
2942     expect {
2943         -re ".* 1087 1ca4 01306DF0" { set x [expr $x+1]; exp_continue; }
2944         -re ".* 1088 1ca8 01306DF1" { set x [expr $x+1]; exp_continue; }
2945         -re ".* 1089 1cac 01306DF2" { set x [expr $x+1]; exp_continue; }
2946         -re ".* 1090 1cb0 01306DF3" { set x [expr $x+1]; exp_continue; }
2947         -re ".* 1091 1cb4 01306DF4" { set x [expr $x+1]; exp_continue; }
2948         -re ".* 1092             " {
2949             if [expr $x == 5] then {
2950                 pass "$testname: stm (er0-er3),@-sp"
2951             } else {
2952                 fail "$testname: stm (er0-er3),@-sp ($x)"
2953             }
2954         }
2955         default { fail "$testname: stm (er0-er3),@-sp ($x)" }
2956     }
2957
2958     set x 0
2959     expect {
2960         -re ".* 1093 1cb8 7B5C598F" { set x [expr $x+1]; exp_continue; }
2961         -re ".* 1094             " {
2962             if [expr $x == 1] then {
2963                 pass "$testname: eepmov.b"
2964             } else {
2965                 fail "$testname: eepmov.b ($x)"
2966             }
2967         }
2968         default { fail "$testname: eepmov.b ($x)" }
2969     }
2970
2971     set x 0
2972     expect {
2973         -re ".* 1095 1cbc 7BD4598F" { set x [expr $x+1]; exp_continue; }
2974         -re ".* 1096             " {
2975             if [expr $x == 1] then {
2976                 pass "$testname: eepmov.w"
2977             } else {
2978                 fail "$testname: eepmov.w ($x)"
2979             }
2980         }
2981         default { fail "$testname: eepmov.w ($x)" }
2982     }
2983
2984     set x 0
2985     expect {
2986         -re ".* 1097 1cc0 7B94" { set x [expr $x+1]; exp_continue; }
2987         -re ".* 1098 1cc2 7BA4" { set x [expr $x+1]; exp_continue; }
2988         -re ".* 1099 1cc4 7BB4" { set x [expr $x+1]; exp_continue; }
2989         -re ".* 1100 1cc6 7B840000" { set x [expr $x+1]; exp_continue; }
2990         -re ".* 1101 1cca 0000" { set x [expr $x+1]; exp_continue; }
2991         -re ".* 1102 1ccc 0000" { set x [expr $x+1]; exp_continue; }
2992         -re ".* 1104             " {
2993             if [expr $x == 6] then {
2994                 pass "$testname: movmd"
2995             } else {
2996                 fail "$testname: movmd ($x)"
2997             }
2998         }
2999         default { fail "$testname: movmd ($x)" }
3000     }
3001
3002     # This was intended to do any cleanup necessary.
3003     # It kinda looks like it isn't needed, but just
3004     # in case, please keep it in for now.
3005
3006     gas_finish
3007
3008 }
3009
3010 if [istarget h8300*-*-elf] then {
3011     # Test advanced h8300sx instructions.
3012     do_t01_mov_test
3013 }
3014