13{
14 enum {
15 res_input_data = 2
16 };
17
18
20 word_t addr, count_str, data, res_input;
21
22 addr = count_str = data = res_input = 0x00;
24 assert(fp);
25
26 res_input = fscanf(fp, "%hx%hx", &addr, &count_str);
27 assert(res_input);
28 if (!(res_input == res_input_data)) {
30
31 ERROR(
"Error Readeng File [%s]\r\n", filename);
32 assert(res_input == res_input_data);
33 abort();
34 }
35 do {
36 for (
byte_t ind = 0x0; ind < count_str; ind++) {
37 fscanf(fp, "%hx", &data);
38 b_write(pdp, (addr | ind), data);
39 }
40 res_input = fscanf(fp, "%hx%hx", &addr, &count_str);
41 } while (res_input == res_input_data);
42
43 INFO(
"\nREAD FILE EXIT\n\n",
"");
45 return;
46}
#define ERROR(fmt,...)
Definition logger.h:36
#define INFO(fmt,...)
Definition logger.h:37
void b_write(struct pdp_11_t *, const address_byte_t, byte_t)
Записывает байт в память PDP-11.
Definition pdp_11.c:79
unsigned char byte_t
Definition types.h:6
unsigned short int word_t
Definition types.h:7
FILE file_t
Definition types.h:10
void pdp_file_close(const file_t *)
Definition utils.c:44
file_t * pdp_file_open(const byte_t *, const byte_t *)
Definition utils.c:31