Rev. 1.50, 10/04, page 309 of 448
Operation:
SHAD(int m,n) /*SHAD Rm,Rn */
{
int sgn = R[m] & 0x80000000;
if (sgn==0)
R[n] <<= (R[m] & 0x1F);
else if ((R[m] & 0x1F) == 0) {
if ((R[n] & 0x80000000) == 0)
R[n] = 0;
else
R[n] = 0xFFFFFFFF;
}
else
R[n] = (long)R[n] >> ((~R[m] & 0x1F)+1);
PC += 2;
}
Example:
SHAD
R1,R2
;
Before execution R1 = H'FFFFFFEC, R2 = H'80180000
;
After execution
R1 = H'FFFFFFEC, R2 = H'FFFFF801
SHAD
R3,R4
;
Before execution R3 = H'00000014, R4 = H'FFFFF801
;
After execution
R3 = H'00000014, R4 = H'80100000
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 ...