EasyManua.ls Logo

Renesas SuperH SH-4A - Page 256

Renesas SuperH SH-4A
472 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Rev. 1.50, 10/04, page 236 of 448
temp0 = RmL*RnL;
temp1 = RmH*RnL;
temp2 = RmL*RnH;
temp3 = RmH*RnH;
Res2 = 0;
Res1 = temp1+temp2;
if (Res1<temp1) Res2 += 0x00010000;
temp1 = (Res1<<16)&0xFFFF0000;
Res0 = temp0 + temp1;
if (Res0<temp0) Res2++;
Res2 = Res2 + ((Res1>>16)&0x0000FFFF) + temp3;
if (fnLmL<0) {
Res2 =
~
Res2;
if (Res0==0)
Res2++;
else
Res0 = (
~
Res0) + 1;
}
MACH = Res2;
MACL = Res0;
PC +=2;
}
Example:
DMULS.L R0,R1 ;Before execution R0 = H'FFFFFFFE, R1 = H'00005555
;After execution MACH = H'FFFFFFFF, MACL = H'FFFF5556
STS MACH,R0 ;Get operation result (upper)
STS MACL,R1 ;Get operation result (lower)

Table of Contents

Related product manuals