|
EMULATOR_PDP_11
STEPIC Учебный проект на 'С', эмулятор PDP_11 в стиле ООП
|
Основная реализация эмулятора PDP-11. More...
#include "pdp_11/command/command.h"#include "pdp_11/command/command_p.h"#include "pdp_11/device_io/device_io.h"#include "pdp_11/memory/mem.h"#include "pdp_11/pdp_11_p.h"#include "pdp_11/register/register.h"#include "utils/logger/logger.h"#include "utils/utils.h"#include <assert.h>#include <errno.h>#include <stdio.h>#include <stdlib.h>#include <string.h>
Functions | |
| pdp_11_t * | pdp_new () |
| Создает новый экземпляр структуры PDP-11. | |
| void | pdp_create (pdp_11_t *pdp) |
| Инициализирует компоненты PDP-11 (память, устройства ввода-вывода, регистры, команды). | |
| void | pdp_destroy (pdp_11_t *pdp) |
| Освобождает ресурсы, связанные с экземпляром PDP-11. | |
| void | b_write (pdp_11_t *pdp, address_byte_t addr, byte_t data) |
| Записывает байт в память PDP-11. | |
| byte_t | b_read (pdp_11_t *pdp, address_byte_t addr) |
| Читает байт из памяти PDP-11. | |
| void | w_write (pdp_11_t *pdp, address_word_t addr, word_t data) |
| Записывает слово (16 бит) в память PDP-11. | |
| word_t | w_read (pdp_11_t *pdp, address_word_t addr) |
| Читает слово (16 бит) из памяти PDP-11. | |
| void | pdp_load_data (pdp_11_t *pdp, byte_t *filename) |
| Загружает данные в PDP-11 из файла или терминала. | |
| void | pdp_mem_dump (pdp_11_t *pdp, address_word_t addr, word_t size) |
| Выводит дамп памяти в форматированном виде. | |
| byte_t * | pdp_parse_filename (int argc, char **argv) |
| Разбирает аргументы командной строки для поиска имени файла. | |
| word_t * | do_command (pdp_11_t *pdp, command_t **commands, const address_word_t addr) |
| Выполняет одну машинную команду по указанному адресу. | |
Основная реализация эмулятора PDP-11.
| byte_t b_read | ( | pdp_11_t * | pdp, |
| address_byte_t | addr | ||
| ) |
Читает байт из памяти PDP-11.
| pdp | Указатель на экземпляр PDP-11. |
| addr | Адрес памяти для чтения. |


| void b_write | ( | pdp_11_t * | pdp, |
| address_byte_t | addr, | ||
| byte_t | data | ||
| ) |
Записывает байт в память PDP-11.
| pdp | Указатель на экземпляр PDP-11. |
| addr | Адрес памяти для записи. |
| data | Данные (байт) для записи. |


| word_t * do_command | ( | pdp_11_t * | pdp, |
| command_t ** | commands, | ||
| const address_word_t | addr | ||
| ) |
Выполняет одну машинную команду по указанному адресу.
| pdp | Указатель на экземпляр PDP-11. |
| commands | Список доступных команд. |
| addr | Адрес команды для выполнения. |


| void pdp_create | ( | pdp_11_t * | pdp | ) |
Инициализирует компоненты PDP-11 (память, устройства ввода-вывода, регистры, команды).
| pdp | Указатель на экземпляр PDP-11. |


| void pdp_destroy | ( | pdp_11_t * | pdp | ) |
Загружает данные в PDP-11 из файла или терминала.
| pdp | Указатель на экземпляр PDP-11. |
| filename | Путь к файлу (если NULL, чтение из терминала). |


| void pdp_mem_dump | ( | pdp_11_t * | pdp, |
| address_word_t | addr, | ||
| word_t | size | ||
| ) |
Выводит дамп памяти в форматированном виде.
| pdp | Указатель на экземпляр PDP-11. |
| addr | Начальный адрес. |
| size | Количество байт для вывода. |


| pdp_11_t * pdp_new | ( | ) |
| byte_t * pdp_parse_filename | ( | int | argc, |
| char ** | argv | ||
| ) |
Разбирает аргументы командной строки для поиска имени файла.
| argc | Количество аргументов. |
| argv | Массив строк аргументов. |


| word_t w_read | ( | pdp_11_t * | pdp, |
| address_word_t | addr | ||
| ) |
Читает слово (16 бит) из памяти PDP-11.
| pdp | Указатель на экземпляр PDP-11. |
| addr | Адрес памяти для чтения. |


| void w_write | ( | pdp_11_t * | pdp, |
| address_word_t | addr, | ||
| word_t | data | ||
| ) |
Записывает слово (16 бит) в память PDP-11.
| pdp | Указатель на экземпляр PDP-11. |
| addr | Адрес памяти для записи. |
| data | Данные (слово) для записи. |

