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