1 void glue(do_lsw
, MEMSUFFIX
) (int dst
)
7 fprintf(logfile
, "%s: addr=0x%08x count=%d reg=%d\n",
8 __func__
, T0
, T1
, dst
);
10 for (; T1
> 3; T1
-= 4, T0
+= 4) {
11 ugpr(dst
++) = glue(ldl
, MEMSUFFIX
)(T0
);
17 for (sh
= 24; T1
> 0; T1
--, T0
++, sh
-= 8) {
18 tmp
|= glue(ldub
, MEMSUFFIX
)(T0
) << sh
;
24 void glue(do_stsw
, MEMSUFFIX
) (int src
)
29 fprintf(logfile
, "%s: addr=0x%08x count=%d reg=%d\n",
30 __func__
, T0
, T1
, src
);
32 for (; T1
> 3; T1
-= 4, T0
+= 4) {
33 glue(stl
, MEMSUFFIX
)(T0
, ugpr(src
++));
38 for (sh
= 24; T1
> 0; T1
--, T0
++, sh
-= 8)
39 glue(stb
, MEMSUFFIX
)(T0
, (ugpr(src
) >> sh
) & 0xFF);
43 void glue(do_lsw_le
, MEMSUFFIX
) (int dst
)
49 fprintf(logfile
, "%s: addr=0x%08x count=%d reg=%d\n",
50 __func__
, T0
, T1
, dst
);
52 for (; T1
> 3; T1
-= 4, T0
+= 4) {
53 tmp
= glue(ldl
, MEMSUFFIX
)(T0
);
54 ugpr(dst
++) = ((tmp
& 0xFF000000) >> 24) | ((tmp
& 0x00FF0000) >> 8) |
55 ((tmp
& 0x0000FF00) << 8) | ((tmp
& 0x000000FF) << 24);
61 for (sh
= 0; T1
> 0; T1
--, T0
++, sh
+= 8) {
62 tmp
|= glue(ldub
, MEMSUFFIX
)(T0
) << sh
;
68 void glue(do_stsw_le
, MEMSUFFIX
) (int src
)
74 fprintf(logfile
, "%s: addr=0x%08x count=%d reg=%d\n",
75 __func__
, T0
, T1
, src
);
77 for (; T1
> 3; T1
-= 4, T0
+= 4) {
78 tmp
= ((ugpr(src
++) & 0xFF000000) >> 24);
79 tmp
|= ((ugpr(src
++) & 0x00FF0000) >> 8);
80 tmp
|= ((ugpr(src
++) & 0x0000FF00) << 8);
81 tmp
|= ((ugpr(src
++) & 0x000000FF) << 24);
82 glue(stl
, MEMSUFFIX
)(T0
, tmp
);
87 for (sh
= 0; T1
> 0; T1
--, T0
++, sh
+= 8)
88 glue(stb
, MEMSUFFIX
)(T0
, (ugpr(src
) >> sh
) & 0xFF);