changes to wide move
This commit is contained in:
parent
ed6ff9ba92
commit
9a92efc3f3
@ -287,10 +287,15 @@ void parseDPImmediate(a64inst_instruction *inst, char *tokens[], int tokensCount
|
|||||||
|
|
||||||
if (isStringIn(tokens[0], WIDE_MOV_OPCODES, 3)) {
|
if (isStringIn(tokens[0], WIDE_MOV_OPCODES, 3)) {
|
||||||
data->DPIOpType = a64inst_DPI_WIDEMOV;
|
data->DPIOpType = a64inst_DPI_WIDEMOV;
|
||||||
data->processOp = indexStringIn(tokens[0], WIDE_MOV_OPCODES, 3);
|
data->processOp = indexStringIn(tokens[0], WIDE_MOV_OPCODES, 4);
|
||||||
data->processOpData.wideMovData.immediate = getOperandNumber(tokens[2]);
|
data->processOpData.wideMovData.immediate = getOperandNumber(tokens[2]);
|
||||||
if (tokensCount >= 4) {
|
if (tokensCount >= 4) {
|
||||||
data->processOpData.wideMovData.shiftScalar = getOperandNumber(tokens[3]);
|
int numTokens = 0;
|
||||||
|
char **shiftOperands = tokenise(tokens[3], &numTokens);
|
||||||
|
int shiftAmount = getOperandNumber(shiftOperands[1]);
|
||||||
|
if (shiftAmount > 0) {
|
||||||
|
data->processOpData.wideMovData.shiftScalar = 12;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user