A data processing system is provided with a digital signal processor which
has an instruction for shifting a source operand in response to a signed
shift count value and storing the shifted result in a selected destination
register. A first 32-bit operand (600) is treated as a signed shift value
that has a sign and a shift count value. A second operand (602) is shifted
by an amount according to the shift count value and in a direction
according to the sign of the shift count. One instruction is provided that
performs a right shift for a positive shift count and a left shift for a
negative shift count, and another instruction is provided performs a left
shift for a positive shift count and a right shift for a negative shift
count. If the shift count value is greater than 31, then the shift is
limited to 31.
Un sistema dell'elaborazione dei dati è fornito di un processor del segnale numerico che ha un'istruzione per spostare un operando di fonte in risposta ad un valore di conteggio firmato dello spostamento ed immagazzinare il risultato spostato in un registro di destinazione selezionato. Un primo operando 32-bit (600) è trattare come un valore firmato dello spostamento che ha un segno e un valore di conteggio dello spostamento. Un secondo operando (602) è spostato da un importo secondo il valore di conteggio dello spostamento ed in un senso secondo il segno del conteggio dello spostamento. Un'istruzione è a condizione che realizza un giusto spostamento per un conteggio positivo dello spostamento e uno spostamento di sinistra per un conteggio negativo dello spostamento e un'altra istruzione è fornita realizza uno spostamento di sinistra per un conteggio positivo dello spostamento e un giusto spostamento per un conteggio negativo dello spostamento. Se il valore di conteggio dello spostamento è più grande di 31, allora lo spostamento è limitato a 31.