Rev. 1.50, 10/04, page 310 of 448
10.1.62 SHAL (Shift Arithmetic Left): Shift Instruction
Format Operation Instruction Code Cycle T Bit
SHAL Rn T ← Rn ← 0 0100nnnn00100000 1 MSB
Description:
This instruction arithmetically shifts the contents of general register Rn one bit to the left, and
stores the result in Rn. The bit shifted out of the operand is transferred to the T bit.
MSB LSB
SHAL
T0
Notes: None
Operation:
SHAL(long n) /* SHAL Rn (Same as SHLL) */
{
if ((R[n]&0x80000000)==0) T = 0;
else T = 1;
R[n] <<= 1;
PC += 2;
}
Example:
SHAL R0 ;Before execution R0 = H'80000001, T = 0
;After execution R0 = H'00000002, T = 1