diff --git a/src/parser.c b/src/parser.c index cbbabd7..0f57bb7 100644 --- a/src/parser.c +++ b/src/parser.c @@ -44,7 +44,7 @@ void generateLoadStoreOperands(a64inst_instruction *instr, char *opcode, char *o instr->data.regType = 0; } char *endptr; - instr->processOpData.base = strtol(operandList[0][0]+1, endptr, 2); + instr->data.target = strtol(operandList[0][0]+1, endptr, 2); calcluateAddressFormat(instr, operandList); break; case a64inst_LOADLITERAL: @@ -61,25 +61,25 @@ void generateBranchOperands(a64inst_instruction *instr, char* opcode, char *oper break; case a64inst_REGISTER: char *endptr; - instr->data.BranchData.processOpData.src = strtol(operandList[0] + 1, endptr, 2) + instr->data.processOpData.src = strtol(operandList[0] + 1, endptr, 2) break; case a64inst_CONDITIONAL: char* condition = strtok(strdup(opcode), "b."); condition = strtok(NULL, ""); if(strcmp(condition, "eq")==0){ - instr->data.BranchData.processOpData.cond = EQ; + instr->data.processOpData.cond = EQ; } else if (strcmp(condition, "ne")==0){ - instr->data.BranchData.processOpData.cond = NE; + instr->data.processOpData.cond = NE; } else if (strcmp(condition, "ge")==0){ - instr->data.BranchData.processOpData.cond = GE; + instr->data.processOpData.cond = GE; } else if (strcmp(condition, "lt")==0){ - instr->data.BranchData.processOpData.cond = LT; + instr->data.processOpData.cond = LT; } else if (strcmp(condition, "gt")==0){ - instr->data.BranchData.processOpData.cond = GT; + instr->data.processOpData.cond = GT; } else if (strcmp(condition, "le")==0){ - instr->data.BranchData.processOpData.cond = LE; + instr->data.processOpData.cond = LE; } else if (srtcmp(condition, "al")==0){ - instr->data.BranchData.processOpData.cond = AL; + instr->data.processOpData.cond = AL; } break; //calculate offset from symbol table.