add: MUL, DIV instructions

This commit is contained in:
xamidev
2024-10-23 20:21:02 +02:00
parent ff5e9c07d7
commit fd0d05003e
5 changed files with 84 additions and 5 deletions

View File

@@ -106,6 +106,24 @@ void assemble(char* filename)
buffer[i++] = reg1_n;
buffer[i++] = reg2_n;
}
else if (strncmp(line, "MUL", 3) == 0)
{
sscanf(line, "%s %[^,], %s", instruction, reg1, reg2);
int reg1_n = reg1[1] - '0';
int reg2_n = reg2[1] - '0';
buffer[i++] = MUL;
buffer[i++] = reg1_n;
buffer[i++] = reg2_n;
}
else if (strncmp(line, "DIV", 3) == 0)
{
sscanf(line, "%s %[^,], %s", instruction, reg1, reg2);
int reg1_n = reg1[1] - '0';
int reg2_n = reg2[1] - '0';
buffer[i++] = DIV;
buffer[i++] = reg1_n;
buffer[i++] = reg2_n;
}
else if (strncmp(line, "OR", 3) == 0)
{
sscanf(line, "%s %[^,], %s", instruction, reg1, reg2);
@@ -189,4 +207,4 @@ int main(int argc, char* argv[])
}
assemble(argv[1]);
return 0;
}
}