Include data structures for assembler
diff --git a/as/as.c b/as/as.c
index 61ad6bd..36d9637 100644
--- a/as/as.c
+++ b/as/as.c
@@ -2,9 +2,8 @@
 #include "../cpu.h"
 #include "../instructions.h"
 #include "../mnemonics.h"
+#include "map.h"
 
-#include <collect/map.h>
-#include <collect/vector.h>
 #include <string.h>
 #include <ctype.h>
 #include <stdbool.h>
@@ -374,10 +373,10 @@
 
 uint32_t assemble(char *code, FILE *out)
 {
-	uintptr_t num_insts = 0;
+	uintptr_t num_insts = 0,
+		pc = 0x600;
 	uint32_t line_no = 1;
-	map *labels = new_map();
-	vector *insts = new_vector();
+	map_t *labels = new_map();
 	char *line;
 
 	printf("Assembling File\n");
@@ -397,14 +396,16 @@
 
 		if (label)
 		{
-			map_set(labels, label, (void *)num_insts);
-			printf("Set label %s at %lu\n", label, num_insts);
+			map_set(labels, label, (void *)pc);
+			printf("Set label %s at %lu\n", label, pc);
 		}
 
 		if (mn)
 		{
 #define MN(a) if (!strcasecmp(mn, #a)) \
+			{						   \
 				mnemonic = a;		   \
+			}						   \
 			else
 
 			MNEMONICS;
@@ -418,6 +419,7 @@
 			if (mnemonic == _mn && parse_arg(line, am, &arg)) \
 			{												  \
 				arg.opcode = op;							  \
+				pc += len;									  \
 				print_inst(&arg);							  \
 			}												  \
 			else
@@ -429,7 +431,6 @@
 #undef INST
 		}
 
-		num_insts++;
 		line = strtok(NULL, "\r\n");
 	}