Чтение из txt файла при изменении формата - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь создать симулятор набора инструкций, который читает сборку и выполняет требуемое действие. Каждая строка состоит из [address] [инструкция] [input1] и, возможно, также [input2]

Файл, который я читаю, выглядит так:

10  MOV R1, 1
11  MOV R2, 10
12  MOV R3, 101
13  ST [R3], R1
14  ADD R1, 1
15  ADD R3, 1
16  CMP R1, R2
17  JE 19
18  JMP 13
19  MOV R2, 5
20  MOV R4, 0
21  MOV R3, 109
22  MOV R1, -1 
23  LD R5, [R3]
24  ADD R3, R1
25  ADD R4, 1
26  CMP R4, R2
27  JE 29
28  JMP 23
29  MOV R3, 120
30  ST [R3], R5

и сейчас я пытаясь разобрать каждую строку с помощью fscanf:

char* buf[100];
    while (fscanf(fptr,"%*s %3s %*s %*s ",buf)==1)
        printf("%s\n", buf);

Вывод, который я получаю, таков:

MOV
MOV
ST
ADD
ADD
CMP
JE
13
5
0
109
-1
[R3
R3,
R4,
R4,
29
29
30

Может кто-нибудь объяснить, что происходит, и предложить способ захвата каждой части инструкция?

Спасибо!

...