diff --git a/src/parser.c b/src/parser.c index 33c7685..c775646 100644 --- a/src/parser.c +++ b/src/parser.c @@ -300,7 +300,9 @@ void parseDPImmediate(a64inst_instruction *inst, char *tokens[], int tokensCount data->processOpData.arithmData.immediate = getOperandNumber(tokens[3]); if (tokensCount >= 5) { - int shiftAmount = getOperandNumber(tokens[4]); + int numTokens = 0; + char **shiftOperands = tokenise(tokens[4], &numTokens); + int shiftAmount = getOperandNumber(shiftOperands[1]); if (shiftAmount > 0) { data->processOpData.arithmData.shiftImmediate = true; }