Compare commits
	
		
			3 Commits
		
	
	
		
			c320371432
			...
			e9d7a608f0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e9d7a608f0 | |||
| d980153185 | |||
| 90128fae8f | 
							
								
								
									
										1
									
								
								8086_sim/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								8086_sim/.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,3 +1,4 @@ | ||||
| sim86 | ||||
| listing_0043_immediate_movs | ||||
| listing_0044_register_movs | ||||
| listing_0045_challenge_register_movs | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								8086_sim/sim86
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								8086_sim/sim86
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -6,6 +6,8 @@ | ||||
| #include <stdio.h> | ||||
| #include <string.h> | ||||
|  | ||||
| #define MEM_SIZE (1 << 16) | ||||
|  | ||||
| struct basic_string { | ||||
|   char str[4096]; | ||||
| }; | ||||
| @@ -22,6 +24,9 @@ int main(int argc, char *argv[]) { | ||||
|     return 1; | ||||
|   } | ||||
|  | ||||
|   u8 memory[MEM_SIZE]; | ||||
|   memset((void *)memory, 0, MEM_SIZE); | ||||
|  | ||||
|   const char *filename = argv[1]; | ||||
|  | ||||
|   printf("Filename: %s\n", filename); | ||||
| @@ -37,10 +42,7 @@ int main(int argc, char *argv[]) { | ||||
|  | ||||
|   fseek(fp, 0, SEEK_SET); | ||||
|  | ||||
|   u8 buffer[size + 1]; | ||||
|   memset((void *)buffer, 0, size + 1); | ||||
|  | ||||
|   fread((void *)buffer, sizeof(u8), size, fp); | ||||
|   fread((void *)memory, sizeof(u8), size, fp); | ||||
|  | ||||
|   fclose(fp); | ||||
|  | ||||
| @@ -55,7 +57,7 @@ int main(int argc, char *argv[]) { | ||||
|  | ||||
|   while (offset < size) { | ||||
|     instruction decoded; | ||||
|     Sim86_Decode8086Instruction(size - offset, buffer + offset, &decoded); | ||||
|     Sim86_Decode8086Instruction(size - offset, memory + offset, &decoded); | ||||
|  | ||||
|     if (decoded.Op) { | ||||
|       offset += decoded.Size; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user