Seems I fixed the memory offset bugs, so far anyway...

This commit is contained in:
2022-08-25 19:54:47 +00:00
parent 4f6d5f652e
commit 03d5660677
+9 -6
View File
@@ -54,12 +54,13 @@ void ParseTokens(List* tokens) {
HandleAssemblerDirective(); HandleAssemblerDirective();
break; break;
case Opcode: case Opcode:
ProgramCounter++;
HandleOperation(); HandleOperation();
break; break;
case Immediate16: case Immediate16:
ProgramCounter++; if (t->type == LABEL) {
AddSymbol(t, ProgramCounter); printf("%s: \n", t->lexeme);
AddSymbol(t, ProgramCounter);
}
break; break;
default: default:
break; break;
@@ -70,7 +71,7 @@ void ParseTokens(List* tokens) {
PrintSymbols(); PrintSymbols();
DestroyList(SymbolsTable); DestroyList(SymbolsTable);
printf("Program Counter: %d\n", ProgramCounter); //printf("Program Counter: %d\n", ProgramCounter);
//printf("Heap Top: %#06X\n", HeapTop); //printf("Heap Top: %#06X\n", HeapTop);
} }
@@ -90,9 +91,9 @@ void HandleAssemblerDirective(void) {
switch(PeekToken()->type) { switch(PeekToken()->type) {
case STRING: case STRING:
ProgramCounter += strlen(PeekToken()->lexeme); printf("[INFO] %s = '%s' (%#04X)\n", identifier->lexeme, PeekToken()->lexeme, ProgramCounter);
printf("[INFO] %s = '%s'\n", identifier->lexeme, PeekToken()->lexeme); ProgramCounter += strlen(PeekToken()->lexeme);
AdvanceParser(); AdvanceParser();
@@ -127,6 +128,8 @@ void HandleOperation(void) {
printf("[%#05X] %s ", ProgramCounter, inst->lexeme); printf("[%#05X] %s ", ProgramCounter, inst->lexeme);
ProgramCounter++;
if (inst->parameter_one == None) { if (inst->parameter_one == None) {
printf("\n"); printf("\n");
return; return;