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 ;G
et operation result (lower)
Summary of Contents for SuperH SH-4A
Page 2: ...Rev 1 50 10 04 page ii of xx ...
Page 8: ...Rev 1 50 10 04 page viii of xx ...
Page 116: ...Rev 1 50 10 04 page 96 of 448 ...
Page 178: ...Rev 1 50 10 04 page 158 of 448 ...
Page 206: ...Rev 1 50 10 04 page 186 of 448 ...
Page 231: ...Rev 1 50 10 04 page 211 of 448 Possible Exceptions Slot illegal instruction exception ...
Page 235: ...Rev 1 50 10 04 page 215 of 448 Possible Exceptions Slot illegal instruction exception ...
Page 238: ...Rev 1 50 10 04 page 218 of 448 Possible Exceptions Slot illegal instruction exception ...
Page 408: ...Rev 1 50 10 04 page 388 of 448 Possible Exceptions Inexact Not generated when FPSCR PR 1 ...
Page 446: ...Rev 1 50 10 04 page 426 of 448 ...
Page 468: ...Rev 1 50 10 04 page 448 of 448 ...
Page 471: ......
Page 472: ...SH 4A Software Manual ...