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_0043_immediate_movs | ||||||
| listing_0044_register_movs | listing_0044_register_movs | ||||||
| listing_0045_challenge_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 <stdio.h> | ||||||
| #include <string.h> | #include <string.h> | ||||||
|  |  | ||||||
|  | #define MEM_SIZE (1 << 16) | ||||||
|  |  | ||||||
| struct basic_string { | struct basic_string { | ||||||
|   char str[4096]; |   char str[4096]; | ||||||
| }; | }; | ||||||
| @@ -22,6 +24,9 @@ int main(int argc, char *argv[]) { | |||||||
|     return 1; |     return 1; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   u8 memory[MEM_SIZE]; | ||||||
|  |   memset((void *)memory, 0, MEM_SIZE); | ||||||
|  |  | ||||||
|   const char *filename = argv[1]; |   const char *filename = argv[1]; | ||||||
|  |  | ||||||
|   printf("Filename: %s\n", filename); |   printf("Filename: %s\n", filename); | ||||||
| @@ -37,10 +42,7 @@ int main(int argc, char *argv[]) { | |||||||
|  |  | ||||||
|   fseek(fp, 0, SEEK_SET); |   fseek(fp, 0, SEEK_SET); | ||||||
|  |  | ||||||
|   u8 buffer[size + 1]; |   fread((void *)memory, sizeof(u8), size, fp); | ||||||
|   memset((void *)buffer, 0, size + 1); |  | ||||||
|  |  | ||||||
|   fread((void *)buffer, sizeof(u8), size, fp); |  | ||||||
|  |  | ||||||
|   fclose(fp); |   fclose(fp); | ||||||
|  |  | ||||||
| @@ -55,7 +57,7 @@ int main(int argc, char *argv[]) { | |||||||
|  |  | ||||||
|   while (offset < size) { |   while (offset < size) { | ||||||
|     instruction decoded; |     instruction decoded; | ||||||
|     Sim86_Decode8086Instruction(size - offset, buffer + offset, &decoded); |     Sim86_Decode8086Instruction(size - offset, memory + offset, &decoded); | ||||||
|  |  | ||||||
|     if (decoded.Op) { |     if (decoded.Op) { | ||||||
|       offset += decoded.Size; |       offset += decoded.Size; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user