2003-04-13 Michael Snyder <msnyder@redhat.com>
[external/binutils.git] / sim / testsuite / sim / h8300 / bset.s
1 # Hitachi H8 testcase 'bset', 'bclr'
2 # mach(): all
3 # as(h8300):    --defsym sim_cpu=0
4 # as(h8300h):   --defsym sim_cpu=1
5 # as(h8300s):   --defsym sim_cpu=2
6 # as(h8sx):     --defsym sim_cpu=3
7 # ld(h8300h):   -m h8300helf    
8 # ld(h8300s):   -m h8300self    
9 # ld(h8sx):     -m h8300sxelf
10
11         .include "testutils.inc"
12
13         # Instructions tested:
14         #
15         # bset xx:3, rd8        ;                   7 0 ?xxx rd8
16         # bclr xx:3, rd8        ;                   7 2 ?xxx rd8
17         # bset xx:3, @erd       ; 7 d 0rd ????      7 0 ?xxx ????
18         # bclr xx:3, @erd       ; 7 d 0rd ????      7 2 ?xxx ????
19         # bset xx:3, @abs16     ; 6 a 1 1??? aa:16  7 0 ?xxx ????
20         # bclr xx:3, @abs16     ; 6 a 1 1??? aa:16  7 2 ?xxx ???? 
21         # bset reg8, rd8        ;                   6 0 rs8  rd8
22         # bclr reg8, rd8        ;                   6 2 rs8  rd8
23         # bset reg8, @erd       ; 7 d 0rd ????      6 0 rs8  ????
24         # bclr reg8, @erd       ; 7 d 0rd ????      6 2 rs8  ????
25         # bset reg8, @abs32     ; 6 a 3 1??? aa:32  6 0 rs8  ????
26         # bclr reg8, @abs32     ; 6 a 3 1??? aa:32  6 2 rs8  ???? 
27         #
28         # bset/eq xx:3, rd8
29         # bclr/eq xx:3, rd8
30         # bset/ne xx:3, rd8
31         # bclr/ne xx:3, rd8
32
33         .data
34 byte_dst:       .byte 0
35
36         start
37
38 bset_imm3_reg8:
39         set_grs_a5a5            ; Fill all general regs with a fixed pattern
40
41         ;;  bset xx:3, rd8
42         mov     #0, r1l
43         set_ccr_zero
44         bset    #0, r1l
45         test_cc_clear
46         test_h_gr8 1 r1l
47
48         set_ccr_zero
49         bset    #1, r1l
50         test_cc_clear
51         test_h_gr8 3 r1l
52
53         set_ccr_zero
54         bset    #2, r1l
55         test_cc_clear
56         test_h_gr8 7 r1l
57
58         set_ccr_zero
59         bset    #3, r1l
60         test_cc_clear
61         test_h_gr8 15 r1l
62
63         set_ccr_zero
64         bset    #4, r1l
65         test_cc_clear
66         test_h_gr8 31 r1l
67
68         set_ccr_zero
69         bset    #5, r1l
70         test_cc_clear
71         test_h_gr8 63 r1l
72
73         set_ccr_zero
74         bset    #6, r1l
75         test_cc_clear
76         test_h_gr8 127 r1l
77
78         set_ccr_zero
79         bset    #7, r1l
80         test_cc_clear
81         test_h_gr8 255 r1l
82
83 .if (sim_cpu == h8300)
84         test_h_gr16 0xa5ff, r1
85 .else
86         test_h_gr32  0xa5a5a5ff er1
87 .endif
88
89 bclr_imm3_reg8: 
90         set_ccr_zero
91         bclr    #7, r1l
92         test_cc_clear
93         test_h_gr8 127 r1l
94
95         set_ccr_zero
96         bclr    #6, r1l
97         test_cc_clear
98         test_h_gr8 63 r1l
99
100         set_ccr_zero
101         bclr    #5, r1l
102         test_cc_clear
103         test_h_gr8 31 r1l
104
105         set_ccr_zero
106         bclr    #4, r1l
107         test_cc_clear
108         test_h_gr8 15 r1l
109
110         set_ccr_zero
111         bclr    #3, r1l
112         test_cc_clear
113         test_h_gr8 7 r1l
114
115         set_ccr_zero
116         bclr    #2, r1l
117         test_cc_clear
118         test_h_gr8 3 r1l
119
120         set_ccr_zero
121         bclr    #1, r1l
122         test_cc_clear
123         test_h_gr8 1 r1l
124
125         set_ccr_zero
126         bclr    #0, r1l
127         test_cc_clear
128         test_h_gr8 0 r1l
129
130         test_gr_a5a5 0          ; Make sure other general regs not disturbed
131 .if (sim_cpu == h8300)
132         test_h_gr16 0xa500 r1
133 .else
134         test_h_gr32  0xa5a5a500 er1
135 .endif
136         test_gr_a5a5 2
137         test_gr_a5a5 3
138         test_gr_a5a5 4
139         test_gr_a5a5 5
140         test_gr_a5a5 6
141         test_gr_a5a5 7
142
143 .if (sim_cpu)
144 bset_imm3_ind:
145         set_grs_a5a5            ; Fill all general regs with a fixed pattern
146
147         ;;  bset xx:3, @erd
148         mov     #byte_dst, er1
149         set_ccr_zero
150         bset    #0, @er1
151         test_cc_clear
152         mov     @er1, r2l
153         test_h_gr8 1 r2l
154
155         set_ccr_zero
156         bset    #1, @er1
157         test_cc_clear
158         mov     @er1, r2l
159         test_h_gr8 3 r2l
160
161         set_ccr_zero
162         bset    #2, @er1
163         test_cc_clear
164         mov     @er1, r2l
165         test_h_gr8 7 r2l
166
167         set_ccr_zero
168         bset    #3, @er1
169         test_cc_clear
170         mov     @er1, r2l
171         test_h_gr8 15 r2l
172
173         set_ccr_zero
174         bset    #4, @er1
175         test_cc_clear
176         mov     @er1, r2l
177         test_h_gr8 31 r2l
178
179         set_ccr_zero
180         bset    #5, @er1
181         test_cc_clear
182         mov     @er1, r2l
183         test_h_gr8 63 r2l
184
185         set_ccr_zero
186         bset    #6, @er1
187         test_cc_clear
188         mov     @er1, r2l
189         test_h_gr8 127 r2l
190
191         set_ccr_zero
192         bset    #7, @er1
193         test_cc_clear
194         mov     @er1, r2l
195         test_h_gr8 255 r2l
196
197 .if (sim_cpu == h8300)
198         test_h_gr16  0xa5ff r2
199 .else
200         test_h_gr32  0xa5a5a5ff er2
201 .endif
202
203 bclr_imm3_ind:  
204         set_ccr_zero
205         bclr    #7, @er1
206         test_cc_clear
207         mov     @er1, r2l
208         test_h_gr8 127 r2l
209
210         set_ccr_zero
211         bclr    #6, @er1
212         test_cc_clear
213         mov     @er1, r2l
214         test_h_gr8 63 r2l
215
216         set_ccr_zero
217         bclr    #5, @er1
218         test_cc_clear
219         mov     @er1, r2l
220         test_h_gr8 31 r2l
221
222         set_ccr_zero
223         bclr    #4, @er1
224         test_cc_clear
225         mov     @er1, r2l
226         test_h_gr8 15 r2l
227
228         set_ccr_zero
229         bclr    #3, @er1
230         test_cc_clear
231         mov     @er1, r2l
232         test_h_gr8 7  r2l
233
234         set_ccr_zero
235         bclr    #2, @er1
236         test_cc_clear
237         mov     @er1, r2l
238         test_h_gr8 3  r2l
239
240         set_ccr_zero
241         bclr    #1, @er1
242         test_cc_clear
243         mov     @er1, r2l
244         test_h_gr8 1  r2l
245
246         set_ccr_zero
247         bclr    #0, @er1
248         test_cc_clear
249         mov     @er1, r2l
250         test_h_gr8 0  r2l
251
252         test_gr_a5a5 0          ; Make sure other general regs not disturbed
253 .if (sim_cpu == h8300)
254         test_h_gr16  byte_dst r1
255         test_h_gr16  0xa500   r2
256 .else
257         test_h_gr32  byte_dst   er1
258         test_h_gr32  0xa5a5a500 er2
259 .endif
260         test_gr_a5a5 3
261         test_gr_a5a5 4
262         test_gr_a5a5 5
263         test_gr_a5a5 6
264         test_gr_a5a5 7
265
266 bset_imm3_abs16:
267         set_grs_a5a5            ; Fill all general regs with a fixed pattern
268
269         ;;  bset xx:3, @aa:16
270         set_ccr_zero
271         bset    #0, @byte_dst:16
272         test_cc_clear
273         mov     @byte_dst, r2l
274         test_h_gr8 1 r2l
275
276         set_ccr_zero
277         bset    #1, @byte_dst:16
278         test_cc_clear
279         mov     @byte_dst, r2l
280         test_h_gr8 3 r2l
281
282         set_ccr_zero
283         bset    #2, @byte_dst:16
284         test_cc_clear
285         mov     @byte_dst, r2l
286         test_h_gr8 7 r2l
287
288         set_ccr_zero
289         bset    #3, @byte_dst:16
290         test_cc_clear
291         mov     @byte_dst, r2l
292         test_h_gr8 15 r2l
293
294         set_ccr_zero
295         bset    #4, @byte_dst:16
296         test_cc_clear
297         mov     @byte_dst, r2l
298         test_h_gr8 31 r2l
299
300         set_ccr_zero
301         bset    #5, @byte_dst:16
302         test_cc_clear
303         mov     @byte_dst, r2l
304         test_h_gr8 63 r2l
305
306         set_ccr_zero
307         bset    #6, @byte_dst:16
308         test_cc_clear
309         mov     @byte_dst, r2l
310         test_h_gr8 127 r2l
311
312         set_ccr_zero
313         bset    #7, @byte_dst:16
314         test_cc_clear
315         mov     @byte_dst, r2l
316         test_h_gr8 255 r2l
317
318 .if (sim_cpu == h8300)
319         test_h_gr16  0xa5ff r2
320 .else
321         test_h_gr32  0xa5a5a5ff er2
322 .endif
323
324 bclr_imm3_abs16:        
325         set_ccr_zero
326         bclr    #7, @byte_dst:16
327         test_cc_clear
328         mov     @byte_dst, r2l
329         test_h_gr8 127 r2l
330
331         set_ccr_zero
332         bclr    #6, @byte_dst:16
333         test_cc_clear
334         mov     @byte_dst, r2l
335         test_h_gr8 63 r2l
336
337         set_ccr_zero
338         bclr    #5, @byte_dst:16
339         test_cc_clear
340         mov     @byte_dst, r2l
341         test_h_gr8 31 r2l
342
343         set_ccr_zero
344         bclr    #4, @byte_dst:16
345         test_cc_clear
346         mov     @byte_dst, r2l
347         test_h_gr8 15 r2l
348
349         set_ccr_zero
350         bclr    #3, @byte_dst:16
351         test_cc_clear
352         mov     @byte_dst, r2l
353         test_h_gr8 7  r2l
354
355         set_ccr_zero
356         bclr    #2, @byte_dst:16
357         test_cc_clear
358         mov     @byte_dst, r2l
359         test_h_gr8 3  r2l
360
361         set_ccr_zero
362         bclr    #1, @byte_dst:16
363         test_cc_clear
364         mov     @byte_dst, r2l
365         test_h_gr8 1  r2l
366
367         set_ccr_zero
368         bclr    #0, @byte_dst:16
369         test_cc_clear
370         mov     @byte_dst, r2l
371         test_h_gr8 0  r2l
372
373         test_gr_a5a5 0          ; Make sure other general regs not disturbed
374         test_gr_a5a5 1
375 .if (sim_cpu == h8300)
376         test_h_gr16  0xa500   r2
377 .else
378         test_h_gr32  0xa5a5a500 er2
379 .endif
380         test_gr_a5a5 3
381         test_gr_a5a5 4
382         test_gr_a5a5 5
383         test_gr_a5a5 6
384         test_gr_a5a5 7
385 .endif
386
387 bset_rs8_rd8:
388         set_grs_a5a5            ; Fill all general regs with a fixed pattern
389
390         ;;  bset rs8, rd8
391         mov     #0, r1h
392         mov     #0, r1l
393         set_ccr_zero
394         bset    r1h, r1l
395         test_cc_clear
396         test_h_gr8 1 r1l
397
398         mov     #1, r1h
399         set_ccr_zero
400         bset    r1h, r1l
401         test_cc_clear
402         test_h_gr8 3 r1l
403
404         mov     #2, r1h
405         set_ccr_zero
406         bset    r1h, r1l
407         test_cc_clear
408         test_h_gr8 7 r1l
409
410         mov     #3, r1h
411         set_ccr_zero
412         bset    r1h, r1l
413         test_cc_clear
414         test_h_gr8 15 r1l
415
416         mov     #4, r1h
417         set_ccr_zero
418         bset    r1h, r1l
419         test_cc_clear
420         test_h_gr8 31 r1l
421
422         mov     #5, r1h
423         set_ccr_zero
424         bset    r1h, r1l
425         test_cc_clear
426         test_h_gr8 63 r1l
427
428         mov     #6, r1h
429         set_ccr_zero
430         bset    r1h, r1l
431         test_cc_clear
432         test_h_gr8 127 r1l
433
434         mov     #7, r1h
435         set_ccr_zero
436         bset    r1h, r1l
437         test_cc_clear
438         test_h_gr8 255 r1l
439
440 .if (sim_cpu == h8300)
441         test_h_gr16 0x07ff, r1
442 .else
443         test_h_gr32  0xa5a507ff er1
444 .endif
445
446 bclr_rs8_rd8:   
447         mov     #7, r1h
448         set_ccr_zero
449         bclr    r1h, r1l
450         test_cc_clear
451         test_h_gr8 127 r1l
452
453         mov     #6, r1h
454         set_ccr_zero
455         bclr    r1h, r1l
456         test_cc_clear
457         test_h_gr8 63 r1l
458
459         mov     #5, r1h
460         set_ccr_zero
461         bclr    r1h, r1l
462         test_cc_clear
463         test_h_gr8 31 r1l
464
465         mov     #4, r1h
466         set_ccr_zero
467         bclr    r1h, r1l
468         test_cc_clear
469         test_h_gr8 15 r1l
470
471         mov     #3, r1h
472         set_ccr_zero
473         bclr    r1h, r1l
474         test_cc_clear
475         test_h_gr8 7 r1l
476
477         mov     #2, r1h
478         set_ccr_zero
479         bclr    r1h, r1l
480         test_cc_clear
481         test_h_gr8 3 r1l
482
483         mov     #1, r1h
484         set_ccr_zero
485         bclr    r1h, r1l
486         test_cc_clear
487         test_h_gr8 1 r1l
488
489         mov     #0, r1h
490         set_ccr_zero
491         bclr    r1h, r1l
492         test_cc_clear
493         test_h_gr8 0 r1l
494
495         test_gr_a5a5 0          ; Make sure other general regs not disturbed
496 .if (sim_cpu == h8300)
497         test_h_gr16 0x0000 r1
498 .else
499         test_h_gr32  0xa5a50000 er1
500 .endif
501         test_gr_a5a5 2
502         test_gr_a5a5 3
503         test_gr_a5a5 4
504         test_gr_a5a5 5
505         test_gr_a5a5 6
506         test_gr_a5a5 7
507
508 .if (sim_cpu)
509 bset_rs8_ind:
510         set_grs_a5a5            ; Fill all general regs with a fixed pattern
511
512         ;;  bset rs8, @erd
513         mov     #byte_dst, er1
514         mov     #0, r2h
515         set_ccr_zero
516         bset    r2h, @er1
517         test_cc_clear
518         mov     @er1, r2l
519         test_h_gr8 1 r2l
520
521         mov     #1, r2h
522         set_ccr_zero
523         bset    r2h, @er1
524         test_cc_clear
525         mov     @er1, r2l
526         test_h_gr8 3 r2l
527
528         mov     #2, r2h
529         set_ccr_zero
530         bset    r2h, @er1
531         test_cc_clear
532         mov     @er1, r2l
533         test_h_gr8 7 r2l
534
535         mov     #3, r2h
536         set_ccr_zero
537         bset    r2h, @er1
538         test_cc_clear
539         mov     @er1, r2l
540         test_h_gr8 15 r2l
541
542         mov     #4, r2h
543         set_ccr_zero
544         bset    r2h, @er1
545         test_cc_clear
546         mov     @er1, r2l
547         test_h_gr8 31 r2l
548
549         mov     #5, r2h
550         set_ccr_zero
551         bset    r2h, @er1
552         test_cc_clear
553         mov     @er1, r2l
554         test_h_gr8 63 r2l
555
556         mov     #6, r2h
557         set_ccr_zero
558         bset    r2h, @er1
559         test_cc_clear
560         mov     @er1, r2l
561         test_h_gr8 127 r2l
562
563         mov     #7, r2h
564         set_ccr_zero
565         bset    r2h, @er1
566         test_cc_clear
567         mov     @er1, r2l
568         test_h_gr8 255 r2l
569
570 .if (sim_cpu == h8300)
571         test_h_gr16  0x07ff r2
572 .else
573         test_h_gr32  0xa5a507ff er2
574 .endif
575
576 bclr_rs8_ind:   
577         mov     #7, r2h
578         set_ccr_zero
579         bclr    r2h, @er1
580         test_cc_clear
581         mov     @er1, r2l
582         test_h_gr8 127 r2l
583
584         mov     #6, r2h
585         set_ccr_zero
586         bclr    r2h, @er1
587         test_cc_clear
588         mov     @er1, r2l
589         test_h_gr8 63 r2l
590
591         mov     #5, r2h
592         set_ccr_zero
593         bclr    r2h, @er1
594         test_cc_clear
595         mov     @er1, r2l
596         test_h_gr8 31 r2l
597
598         mov     #4, r2h
599         set_ccr_zero
600         bclr    r2h, @er1
601         test_cc_clear
602         mov     @er1, r2l
603         test_h_gr8 15 r2l
604
605         mov     #3, r2h
606         set_ccr_zero
607         bclr    r2h, @er1
608         test_cc_clear
609         mov     @er1, r2l
610         test_h_gr8 7  r2l
611
612         mov     #2, r2h
613         set_ccr_zero
614         bclr    r2h, @er1
615         test_cc_clear
616         mov     @er1, r2l
617         test_h_gr8 3  r2l
618
619         mov     #1, r2h
620         set_ccr_zero
621         bclr    r2h, @er1
622         test_cc_clear
623         mov     @er1, r2l
624         test_h_gr8 1  r2l
625
626         mov     #0, r2h
627         set_ccr_zero
628         bclr    r2h, @er1
629         test_cc_clear
630         mov     @er1, r2l
631         test_h_gr8 0  r2l
632
633         test_gr_a5a5 0          ; Make sure other general regs not disturbed
634 .if (sim_cpu == h8300)
635         test_h_gr16  byte_dst r1
636         test_h_gr16  0x0000   r2
637 .else
638         test_h_gr32  byte_dst   er1
639         test_h_gr32  0xa5a50000 er2
640 .endif
641         test_gr_a5a5 3
642         test_gr_a5a5 4
643         test_gr_a5a5 5
644         test_gr_a5a5 6
645         test_gr_a5a5 7
646
647 bset_rs8_abs32:
648         set_grs_a5a5            ; Fill all general regs with a fixed pattern
649
650         ;;  bset rs8, @aa:32
651         mov     #0, r2h
652         set_ccr_zero
653         bset    r2h, @byte_dst:32
654         test_cc_clear
655         mov     @byte_dst, r2l
656         test_h_gr8 1 r2l
657
658         mov     #1, r2h
659         set_ccr_zero
660         bset    r2h, @byte_dst:32
661         test_cc_clear
662         mov     @byte_dst, r2l
663         test_h_gr8 3 r2l
664
665         mov     #2, r2h
666         set_ccr_zero
667         bset    r2h, @byte_dst:32
668         test_cc_clear
669         mov     @byte_dst, r2l
670         test_h_gr8 7 r2l
671
672         mov     #3, r2h
673         set_ccr_zero
674         bset    r2h, @byte_dst:32
675         test_cc_clear
676         mov     @byte_dst, r2l
677         test_h_gr8 15 r2l
678
679         mov     #4, r2h
680         set_ccr_zero
681         bset    r2h, @byte_dst:32
682         test_cc_clear
683         mov     @byte_dst, r2l
684         test_h_gr8 31 r2l
685
686         mov     #5, r2h
687         set_ccr_zero
688         bset    r2h, @byte_dst:32
689         test_cc_clear
690         mov     @byte_dst, r2l
691         test_h_gr8 63 r2l
692
693         mov     #6, r2h
694         set_ccr_zero
695         bset    r2h, @byte_dst:32
696         test_cc_clear
697         mov     @byte_dst, r2l
698         test_h_gr8 127 r2l
699
700         mov     #7, r2h
701         set_ccr_zero
702         bset    r2h, @byte_dst:32
703         test_cc_clear
704         mov     @byte_dst, r2l
705         test_h_gr8 255 r2l
706
707 .if (sim_cpu == h8300)
708         test_h_gr16  0x07ff r2
709 .else
710         test_h_gr32  0xa5a507ff er2
711 .endif
712
713 bclr_rs8_abs32: 
714         mov     #7, r2h
715         set_ccr_zero
716         bclr    r2h, @byte_dst:32
717         test_cc_clear
718         mov     @byte_dst, r2l
719         test_h_gr8 127 r2l
720
721         mov     #6, r2h
722         set_ccr_zero
723         bclr    r2h, @byte_dst:32
724         test_cc_clear
725         mov     @byte_dst, r2l
726         test_h_gr8 63 r2l
727
728         mov     #5, r2h
729         set_ccr_zero
730         bclr    r2h, @byte_dst:32
731         test_cc_clear
732         mov     @byte_dst, r2l
733         test_h_gr8 31 r2l
734
735         mov     #4, r2h
736         set_ccr_zero
737         bclr    r2h, @byte_dst:32
738         test_cc_clear
739         mov     @byte_dst, r2l
740         test_h_gr8 15 r2l
741
742         mov     #3, r2h
743         set_ccr_zero
744         bclr    r2h, @byte_dst:32
745         test_cc_clear
746         mov     @byte_dst, r2l
747         test_h_gr8 7  r2l
748
749         mov     #2, r2h
750         set_ccr_zero
751         bclr    r2h, @byte_dst:32
752         test_cc_clear
753         mov     @byte_dst, r2l
754         test_h_gr8 3  r2l
755
756         mov     #1, r2h
757         set_ccr_zero
758         bclr    r2h, @byte_dst:32
759         test_cc_clear
760         mov     @byte_dst, r2l
761         test_h_gr8 1  r2l
762
763         mov     #0, r2h
764         set_ccr_zero
765         bclr    r2h, @byte_dst:32
766         test_cc_clear
767         mov     @byte_dst, r2l
768         test_h_gr8 0  r2l
769
770         test_gr_a5a5 0          ; Make sure other general regs not disturbed
771         test_gr_a5a5 1
772 .if (sim_cpu == h8300)
773         test_h_gr16  0x0000   r2
774 .else
775         test_h_gr32  0xa5a50000 er2
776 .endif
777         test_gr_a5a5 3
778         test_gr_a5a5 4
779         test_gr_a5a5 5
780         test_gr_a5a5 6
781         test_gr_a5a5 7
782 .endif
783
784 .if (sim_cpu == h8sx)
785 bset_eq_imm3_abs16:
786         set_grs_a5a5            ; Fill all general regs with a fixed pattern
787
788         ;;  bset/eq xx:3, rd8
789         mov     #0, @byte_dst
790         set_ccr_zero
791         bset/eq #0, @byte_dst:16 ; Zero is clear, should have no effect.
792         test_cc_clear
793         mov     @byte_dst, r1l
794         test_h_gr8 0 r1l
795
796         set_ccr_zero
797         orc     #4, ccr         ; Set zero flag
798         bset/eq #0, @byte_dst:16 ; Zero is set: operation should succeed.
799
800         test_neg_clear
801         test_zero_set
802         test_ovf_clear
803         test_carry_clear
804
805         mov     @byte_dst, r1l
806         test_h_gr8 1 r1l
807
808 bclr_eq_imm3_abs32:
809         mov     #1, @byte_dst
810         set_ccr_zero
811         bclr/eq #0, @byte_dst:32 ; Zero is clear, should have no effect.
812         test_cc_clear
813         mov     @byte_dst, r1l
814         test_h_gr8 1 r1l
815
816         set_ccr_zero
817         orc     #4, ccr         ; Set zero flag
818         bclr/eq #0, @byte_dst:32 ; Zero is set: operation should succeed.
819         test_neg_clear
820         test_zero_set
821         test_ovf_clear
822         test_carry_clear
823         mov     @byte_dst, r1l
824         test_h_gr8 0 r1l
825
826         test_gr_a5a5 0          ; Make sure other general regs not disturbed
827 .if (sim_cpu == h8300)
828         test_h_gr16 0xa500 r1
829 .else
830         test_h_gr32  0xa5a5a500 er1
831 .endif
832         test_gr_a5a5 2
833         test_gr_a5a5 3
834         test_gr_a5a5 4
835         test_gr_a5a5 5
836         test_gr_a5a5 6
837         test_gr_a5a5 7
838 .endif
839
840         pass
841         exit 0