EMULATOR_PDP_11
STEPIC Учебный проект на 'С', эмулятор PDP_11 в стиле ООП
Loading...
Searching...
No Matches
test_pdp.c File Reference
#include "pdp_11/command/command.h"
#include "pdp_11/pdp_11.h"
#include "pdp_11/pdp_11_p.h"
#include "types/types.h"
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "pdp_11/register/register_p.h"
#include "tests/test.h"
#include "tests/test_pdp/test_pdp.h"
#include "utils/logger/logger.h"
#include "utils/utils.h"
Include dependency graph for test_pdp.c:

Functions

void memory_type (byte_t type_memory)
 
void test_pdp_memory (byte_t type_memory, int argc, char **argv)
 
int test_commands ()
 
int test_pdp (int argc, char **argv)
 

Variables

byte_t g_default_memory
 

Function Documentation

◆ memory_type()

void memory_type ( byte_t  type_memory)
21{
22 g_default_memory = type_memory;
23}
byte_t g_default_memory
Definition mem.c:10
Here is the caller graph for this function:

◆ test_commands()

int test_commands ( )
49{
50 /*TODO Прочитать из фйла программу и выполнить*/
51 struct pdp_11_t *pdp = pdp_new();
52 pdp_create(pdp);
53 assert(pdp);
54
55 pdp_11_t * ptr_pdp = (pdp_11_t *) pdp;
56 address_word_t addr = 01000;
57 word_t * ptr_pc = ptr_pdp->PC;
58 *ptr_pc = addr;
59
60 // word_t w; // текущее слово, которое содержит команду
61 // главный цикл выполне:w
62 // ния программы
63 int i = 0;
64 while (i <= 10) {
65 // читаем текущее слово
66 ptr_pc = do_command(pdp, ptr_pdp->command, *ptr_pc);
67 i++;
68 }
69 return 0;
70}
struct pdp_11_t * pdp_new()
Создает новый экземпляр структуры PDP-11.
Definition pdp_11.c:26
word_t * do_command(struct pdp_11_t *, struct command_t **, const address_word_t)
Выполняет одну машинную команду по указанному адресу.
Definition pdp_11.c:190
void pdp_create(struct pdp_11_t *)
Инициализирует компоненты PDP-11 (память, устройства ввода-вывода, регистры, команды).
Definition pdp_11.c:37
Definition pdp_11_p.h:4
word_t * PC
Definition pdp_11_p.h:16
struct command_t ** command
Definition pdp_11_p.h:8
unsigned short int word_t
Definition types.h:7
unsigned int address_word_t
Definition types.h:11
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_pdp()

int test_pdp ( int  argc,
char **  argv 
)
74{
75 DEBUG("\nСтартовый тест для проверки правильности\n \
76 создания и использования функций",
77 "\r\n\n");
79 WARNING("\nALLOCAT MEMORY FOR CLASS MEM_BYTE_T < BYTE >\n", "");
80 TRACE("\nMEMORY BYTE CREATED !!!", "\r\n\n");
81 // Если путь к файлу отсутствует запускается BYTE_TEST
82 if (3 >= argc) {
84 TRACE("\nMEMORY BYTE DESTROY !!! ", "\r\n\n");
85 return 0;
86 }
87 // Если есть путь к файлу запускаются BYTE_TEST и WORD_TEST
88
90
91 TRACE("\nMEMORY BYTE DESTROY !!! ", "\r\n\n");
93
95 WARNING("\nALLOCAT MEMORY FOR CLASS MEM_WORD_T < WORD >\n", "");
96 TRACE("\nMEMORY WORD CREATED !!! ", "\r\n\n");
97
99
100 TRACE("\nMEMORY WORD DESTROY !!! ", "\r\n\n");
103 INFO("ALL TESTS PDP_11 PASSED SUCCESSFULLY", "");
104 return 1;
105}
#define TRACE(fmt,...)
Definition logger.h:39
#define INFO(fmt,...)
Definition logger.h:37
#define DEBUG(fmt,...)
Definition logger.h:40
#define WARNING(fmt,...)
Definition logger.h:38
int test_commands()
Definition test_pdp.c:48
void test_pdp_memory(byte_t type_memory, int argc, char **argv)
Definition test_pdp.c:26
@ type_memory_word
Definition test_pdp.h:4
@ type_memory_byte
Definition test_pdp.h:4
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_pdp_memory()

void test_pdp_memory ( byte_t  type_memory,
int  argc,
char **  argv 
)
27{
28
29 memory_type(type_memory);
30
31 DEBUG("DEFAULT MEMORY FOR CREATE PDP_11 \
32 \t%d\r\n",
34
35 struct pdp_11_t *pdp = pdp_new();
36 pdp_create(pdp);
37 assert(pdp);
38
39 all_tests(pdp, argc, argv);
40
41 pdp_destroy(pdp);
42 free(pdp);
44}
void pdp_destroy(struct pdp_11_t *)
Освобождает ресурсы, связанные с экземпляром PDP-11.
Definition pdp_11.c:60
void all_tests(struct pdp_11_t *, int, char **)
Запуск полной подсистемы тестирования компонентов PDP-11.
Definition test.c:37
void memory_type(byte_t type_memory)
Definition test_pdp.c:20
unsigned char byte_t
Definition types.h:6
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ g_default_memory

byte_t g_default_memory
extern