ПОЗНАВАТЕЛЬНОЕ Сила воли ведет к действию, а позитивные действия формируют позитивное отношение Как определить диапазон голоса - ваш вокал
Игровые автоматы с быстрым выводом Как цель узнает о ваших желаниях прежде, чем вы начнете действовать. Как компании прогнозируют привычки и манипулируют ими Целительная привычка Как самому избавиться от обидчивости Противоречивые взгляды на качества, присущие мужчинам Тренинг уверенности в себе Вкуснейший "Салат из свеклы с чесноком" Натюрморт и его изобразительные возможности Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д. Как научиться брать на себя ответственность Зачем нужны границы в отношениях с детьми? Световозвращающие элементы на детской одежде Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия Как слышать голос Бога Классификация ожирения по ИМТ (ВОЗ) Глава 3. Завет мужчины с женщиной 
Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д. Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу. Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар. | Постановка задачи исследования Необходимо разработать программную модель простейшей вычислительной машины Simple Computer. Для управления модели (определяющая начальные состояние узлов Simple Computer, запуска команд для выполнения программы, отражения хода выполнения программы) требуется создать консоль. Необходимо реализовать транслятор с языка Simple Basic на Simple Assembler , который транслируется в машинный код для программирования Simple Computer. Программная реализация Ниже указанны функции используемые для разработки простейшей вычислительной машины Simple Computer и даны краткие характеристики. Main.c (console) Функции | Описание | int PrintMemory() | Перерисовывает содержимое памяти | void DrawAcc() | Перерисовывает содержимое аккумулятора SimpleComputer. | void DrawInsCounter() | Перерисовывает содержимое регистра счетчика команд SimpleComputer. | void DrawOperationField() | Перерисовывает результат декодирования операции ячейки, адресуемой счетчиком команд | void DrawFlags() | Перерисовывает содержимое регистра флагов SimpleComputer. | void DrawBigChars() | Перерисовывает содержимое текущей ячейки памяти | void DrawFields() | Содержит в себе PrintMemory(), DrawAcc(), DrawInsCounter(), DrawOperationField(), DrawFlags(), DrawBigChars() | void DrawConsole() | Рисует консоль SimpleComputer | int ALU(int command, int operand) | Выполняет Арифметико-логические операции | int CU() | Выполняет Устройство управления | void ConsoleDefault() | Ставит консоль в начальные значения (по умолчанию) | void timerHandler | Проверка снятия флага тактовых импульсов | int runTimer() | Позыв сигнала каждую секунду , если консоль не занята выполнением команды | int main() | Принимает полученный ввод с клавиатуры , а затем с помощью проверок определяет тип команды и действо, которое нужно совершить | MyBigChars.h Функции | Описание | int bc_printA (char *str) | Ставит неканоническую работу терминала, передает ей символ и выводит его, после возвращает режим по умолчанию | int bc_box (int x1, int y1, int x2, int y2) | С помощью перевода терминал в неканонический режим и махинацией с выводом символов рисует рамку | int bc_printbigchar (unsigned long long big, int x, int y) | С помощью по битового выставления рисует ячейку памяти большими символами. | MyReadkey.h Функции | Описание | int rk_readkey (enum keys* key) | Определяет какая, клавиша была нажата | int rk_mytermsave() | Сохраняет настройки терминала | int rk_mytermrestore() | Возвращает терминалу стандартные настройки | int rk_mytermregime(int regime, int vtime, int vmin, int echo, int sigint) | С помощью махинаций изменяет работу терминала | MySimpleComputer.h Функции | Описание | int sc_memoryInit() | Выполняет инициализацию оперативной памяти | int sc_memorySet(int address, int value) | Задает значение ячейки памяти | int sc_memoryGet(int address, int *value) | Возвращает значение ячейки памяти | int sc_memorySave(char *filename) | Сохраняет содержимое памяти в файл в бинарном виде | int sc_memoryLoad(char *filename) | Загружает содержимое из бинарного файла в память | int sc_regInit (void) | Выполняет инициализацию регистра флагов | int sc_regSet(int reg, int value) | Устанавливает значение указанного регистра флагов | int sc_regGet(int reg ,int *value) | Возвращает значение указанного флага | int sc_commandEncode (int command, int operand, int * value) | Кодирует команду с указанным номером и операндом | int sc_commandDecode (int value, int * command, int * operand) | Декодирует значение как команду Simple Computer | MyTerm.h Функции | Описание | int mt_clrscr(void) | Очистка экрана | int mt_getscreensize(int *rows , int *cols) | Определяет размер экрана терминала | int mt_gotoXY(int x, int y) | Перемещает курсор в указанную позицию | int mt_setfgcolor(int colors ) | Устанавливает цвет последующих выводимых символов | int mt_setbgcolor(int colors ) | Устанавливает цвет фона последующих выводимых символов | int mt_cursorVisible(int flag) | Отключает или включает курсор | void colorType(int type) | Задаёт стиль терминалу | void CLR() | Очищает строку ввода | Main.c (assembler) Функции | Описание | int asm_analis(char *comm) | Определяет , как должна выглядеть команда в машинном коде | int main(int argc, char** argv) | Считывает входной файл, изменят команды на понятные машине, после декодирует и записывает их в память, а затем выводит в двоичный файл. | Main.c (basic) Функции | Описание | void init_asm_str() | Инициализация массива видоизмененного Simple Basic | void init_str_out() | Инициализация массива конечного результата Simple Assembler | void init_vars() | Инициализация массива хранящего адреса переменных считанных с файла | int getVarAddr(char varName, int offset) | Возвращает адрес размещения указанной переменной или выделяет и возвращает | int getGotoAddr(int gotoLine) | Возвращает адрес перехода, соответствующий номеру строки | char clearBackspace(char *str) | Удаляет символ пробела из строки | void translationError(char *input_file, int strnum) | Выводит сообщения об ошибке трансляции | int main(int argc, char** argv) часть1 | К первой части можно отнести проверку входного файла, где мы в инициализированный массив init_asm_str() записываем изменненый Simple Basic на Simple Assembler и проверяем правильность поданного файла, к примеру не перепутаны ли строки местами. | int main(int argc, char** argv) часть2 | Во второй части мы определяем адресы переменных, указывала ли Goto на существующий адрес, а после выводим в файл в виде кода Assemblera (адрес, команда, операнд). | |