Rev. 1.50, 10/04, page 311 of 448
10.1.63 SHAR (Shift Arithmetic Right): Shift Instruction
Format
Operation
Instruction Code
Cycle
T Bit
SHAR Rn
MSB
→
Rn
→
T
0100nnnn00100001
1 LSB
Description:
This instruction arithmetically shifts the contents of general register Rn one bit to the right, and
stores the result in Rn. The bit shifted out of the operand is transferred to the T bit.
MSB
LSB
SHAR
T
Notes:
None
Operation:
SHAR(long n) /* SHAR Rn */
{
long temp;
if ((R[n]&0x00000001)==0) T = 0;
else T = 1;
if ((R[n]&0x80000000)==0) temp = 0;
else temp = 1;
R[n] >>= 1;
if (temp==1) R[n] |= 0x80000000;
else R[n] &= 0x7FFFFFFF;
PC += 2;
}
Example:
SHAR
R0
;
Before execution R0 = H'80000001, T = 0
;
After execution
R0 = H'C0000000, T = 1
Содержание SuperH SH-4A
Страница 2: ...Rev 1 50 10 04 page ii of xx ...
Страница 8: ...Rev 1 50 10 04 page viii of xx ...
Страница 116: ...Rev 1 50 10 04 page 96 of 448 ...
Страница 178: ...Rev 1 50 10 04 page 158 of 448 ...
Страница 206: ...Rev 1 50 10 04 page 186 of 448 ...
Страница 231: ...Rev 1 50 10 04 page 211 of 448 Possible Exceptions Slot illegal instruction exception ...
Страница 235: ...Rev 1 50 10 04 page 215 of 448 Possible Exceptions Slot illegal instruction exception ...
Страница 238: ...Rev 1 50 10 04 page 218 of 448 Possible Exceptions Slot illegal instruction exception ...
Страница 408: ...Rev 1 50 10 04 page 388 of 448 Possible Exceptions Inexact Not generated when FPSCR PR 1 ...
Страница 445: ...Rev 1 50 10 04 page 425 of 448 Possible Exceptions Invalid operation Overflow Underflow Inexact ...
Страница 446: ...Rev 1 50 10 04 page 426 of 448 ...
Страница 468: ...Rev 1 50 10 04 page 448 of 448 ...
Страница 471: ......
Страница 472: ...SH 4A Software Manual ...