Compare commits

...

3 Commits

3 changed files with 8 additions and 5 deletions

1
8086_sim/.gitignore vendored
View File

@ -1,3 +1,4 @@
sim86
listing_0043_immediate_movs
listing_0044_register_movs
listing_0045_challenge_register_movs

Binary file not shown.

View File

@ -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;