Страницу Назад
Поискать другие аналоги этой работы
200 Лабораторная работа 2. Разработка библиотеки mySimpleComputer. Оперативная память, регистр флагов, декодирование операций.ID: 234252Дата закачки: 20 Марта 2023 Продавец: orokysaki (Напишите, если есть вопросы) Посмотреть другие работы этого продавца Тип работы: Работа Лабораторная Сдано в учебном заведении: ДО СИБГУТИ Описание: Изучить принципы работы оперативной памяти. Познакомиться с разрядными операциями языка Си. Разработать библиотеку mySimpleComputer, включающую функции по декодированию команд, управлению регистрами и взаимодействию с оперативной памятью. Задание на лабораторную работу 1. Прочитайте главу 4 практикума по курсу «Организация ЭВМ и систем». Изучите принципы работы разрядных операций в языке Си: как можно изменить значение указанного разряда целой переменной или получить его значение. Вспомните, как сохранять информацию в файл и считывать еѐ оттуда в бинарном виде. 2. Разработайте функции по взаимодействию с оперативной памятью, управлению регистром флагов и кодированию/декодированию команд: a. int sc_memoryInit () – инициализирует оперативную память Simple Computer, за-давая всем еѐ ячейкам нулевые значения. В качестве «оперативной памяти» использу-ется массив целых чисел, определенный статически в рамках библиотеки. Размер мас-сива равен 100 элементам. b. int sc_memorySet (int address, int value) – задает значение указанной ячейки памяти как value. Если адрес выходит за допустимые границы, то устанавлива-ется флаг «выход за границы памяти» и работа функции прекращается с ошибкой; c. int sc_memoryGet (int address, int * value) – возвращает значение указан-ной ячейки памяти в value. Если адрес выходит за допустимые границы, то устанавли-вается флаг «выход за границы памяти» и работа функции прекращается с ошибкой. Значение value в этом случае не изменяется. d. int sc_memorySave (char * filename) – сохраняет содержимое памяти в файл в бинарном виде (используя функцию write или fwrite); e. int sc_memoryLoad (char * filename) – загружает из указанного файла содер-жимое оперативной памяти (используя функцию read или fread); f. int sc_regInit (void) – инициализирует регистр флагов нулевым значением; g. int sc_regSet (int register, int value) – устанавливает значение указанно-го регистра флагов. Для номеров регистров флагов должны использоваться маски, за-даваемые макросами (#define). Если указан недопустимый номер регистра или некор-ректное значение, то функция завершается с ошибкой. h. int sc_regGet (int register, int * value) – возвращает значение указанного флага. Если указан недопустимый номер регистра, то функция завершается с ошибкой. i. int sc_commandEncode (int command, int operand, int * value) – кодиру-ет команду с указанным номером и операндом и помещает результат в value. Если ука-заны неправильные значения для команды или операнда, то функция завершается с ошибкой. В этом случае значение value не изменяется. j. int sc_commandDecode (int value, int * command, int * operand) – деко-дирует значение как команду Simple Computer. Если декодирование невозможно, то устанавливается флаг «ошибочная команда» и функция завершается с ошибкой. 3. Оформите разработанные функции как статическую библиотеку. Подготовьте заголовочный файл для неѐ. Размер файла: 26,3 Кбайт Фаил: (.rar)
Скачано: 2 Коментариев: 0 |
||||
Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них. Опять не то? Мы можем помочь сделать! Некоторые похожие работы:Разработка библиотеки mySimpleComputer. Оперативная память, регистр флагов, декодирование операций.Ещё искать по базе с такими же ключевыми словами. |
||||
Не можешь найти то что нужно? Мы можем помочь сделать! От 350 руб. за реферат, низкие цены. Спеши, предложение ограничено ! |
Вход в аккаунт:
Страницу Назад
Cодержание / Архитектура вычислительных систем / Лабораторная работа 2. Разработка библиотеки mySimpleComputer. Оперативная память, регистр флагов, декодирование операций.
Вход в аккаунт: