Рассчитай точную стоимость своей работы и получи промокод на скидку 200 ₽
Найди эксперта для помощи в учебе
Найти эксперта
+2
выполнено на сервисе Автор24
Студенческая работа на тему:
Разработка модуля генерации машинных команд для программ с линейной структурой.
Создан заказ №6180260
4 февраля 2021

Разработка модуля генерации машинных команд для программ с линейной структурой.

Как заказчик описал требования к работе:
Исходные данные: текст, состоящий из двух частей — раздела описания данных и раздела команд на упрощенном языке ассемблера. Особенность кодового сегмента: линейная последовательность команд пересылки и выполнения арифметических действий БЕЗ использования команд передачи управления. Формат строк с ин струкциями: строки содержат только ДВА поля — Имя Команды и один-два операнда (имя регистра, имя области памяти, непосредственная константа) Задача обработчика: провести разбор каждой строки на отдельные составляющие ( имя команды, операнд(ы)) и выполнить генерацию машинных команд в 16-ричном формате Основа реализации: - использование таблицы с именами и кодами операций (Таблица Команд, ТК) - использование таблицы для преобразования внешних имен регистров во внутренние номера (Таблица Регистров, ТР) - использование Таблицы Символических Имен (ТСИ), построенной при обработке раздела с данными (практическое задание 1) - использование переменной СчетчикАдреса (СА) с начальным значением 0 Упрощения базового языка ассемблера. 1. Все элементы данных являются целыми числами длиной ОДИН (db) или ДВА (dw) байта 2. Адреса данных и команд задаются двумя байтами в 16-ричном представлении (0000 - FFFF) 3. Используются только четыре основных РОНа с именами AX, BX, CX, DX (все по 2 байта), каждый разбивается на младший (L) и старший (H) байты, что дает в сумме 12 регистров 4. Для двоичного кода команды используется один байт (первый) 5. Все арифметические операции выполняются только с теми данными, которые находятся в регистрах (НЕ в памяти!) 6. Использование команды перемещения данных MOV имеет следующие упрощения: - удалена функция загрузки константы в память - четыре оставшихся варианта команды имеют собственные внутренние коды в Таблице Команд (приведены ниже) - для операции загрузки константы в регистр вводятся ДВЕ разновидности для различения однобайтовых и двухбайтовых констант 7. Использование команд для арифметических операций имеет следующие упрощения: - команды сложения и вычитания имеют только по ДВЕ разновидности : (регистр1)+/-(регистр2) и (регистр)+/-(константа), внутренние коды этих команд приведены в ТК - при использовании операнда-константы аналогично команде MOV введены ДВЕ разновидности для констант разной длины - команды INC и DEC работают только с регистрами, коды этих команд приведены в ТК - команда умножения (MUL) выполняет умножение только однобайтовых чисел с получением двухбайтового результата и имеет только ОДИН формат с операндом-регистром - обработка особых ситуаций при сложении и вычитании НЕ производится. Структура Таблицы Команд (ТК): - поле «Символическое Имя Команды» - поле «Двоичный Код Команды» (код операции) - поле «Байтовый размер команды» Имя ком. Двоич. код размер Комментарий для пояснения формата команды MOV 01 4 операнд1 : регистр (1 байт), операнд2 : память (2 байта) MOV 02 4 операнд1 : память (2 байта), операнд2 : регистр (1 байт) MOV 03 3 операнд1 : регистр (1 байт), операнд2 : регистр (1 байт) MOV 04 3 операнд1 : регистр (1 байт), операнд2 : константа (1 байт) MOV 05 4 операнд1 : регистр (1 байт), операнд2 : константа (2 байта) ADD 06 3 операнд1 : регистр (1 байт), операнд2 : регистр (1 байт) ADD 07 3 операнд1 : регистр (1 байт), операнд2 : константа (1 байт) ADD 08 4 операнд1 : регистр (1 байт), операнд2 : константа (2 байта) SUB 09 3 операнд1 : регистр (1 байт), операнд2 : регистр (1 байт) SUB 0А 3 операнд1 : регистр (1 байт), операнд2 : константа (1 байт) SUB 0В 4 операнд1 : регистр (1 байт), операнд2 : константа (2 байта) INC 0C 2 операнд : регистр (1 байт) DEC 0D 2 операнд : регистр (1 байт) MUL 0E 2 операнд : регистр (1 байт) Такое представление машинных команд удобно тем, что код команды однозначно определяет ее операндную структуру и байтовую длину, что упрощает разработку ассемблирующей программы. Структура Таблицы для преобразования имен регистров в их номера (ТР): AL AH AX BL BH BX CL CH CX DL DH DX 01 02 03 04 05 06 07 08 09 0A 0B 0C Использование переменной Счетчик Адреса (СА) для отслеживания адресов, назначаемых командам в процессе последовательной обработки строк раздела команд: - начальное значение СА = 0000. - при обработке очередной команды значение СА увеличивается на байтовый размер текущей команды (берется из ТК) Отслеживание адресов в простейшем случае необходимо для определения байтового размера создаваемого кода. Алгоритм обработки инструкций. 1. Установить СА = 0; 2. Организовать цикл для обработки строк (выделение имен команд и их операндов) 3. Прочитать очередную строку и выполнить ее разбор 4. Выделить символическое имя команды и выполнить его поиск в ТК: - если поиск НЕ удачен, то вывести ошибку «Неизвестное имя команды» и завершить разбор - иначе перейти к разбору операндов 5. Выполнить анализ первого операнда (регистр или память?): - поиск имени в таблице соответствия, в случае удачи (регистр!) заменить имя номером - в случае неудачи (а может это память?) выполнить поиск имени в ТСИ: - если поиск удачен (правильно, память!), то заменить имя адресом из ТСИ - иначе (и не регистр, и не память) вывести ошибку «Некорректный операнд» 6. Если есть второй операнд, обработать его аналогично, с учетом дополнительной возможности что операнд является числовой константой 7. В зависимости от типа операндов выбрать из ТК необходимый двоичный код команды и добавить к нему двоичное представление операндов 8. Увеличить СА на размер команды (есть в ТК) 9. Сохранить созданный двоичный код команды и перейти к обработке следующей строки Типовой пример: программа вычисления арифметического выражения вида y = 2*n + m*t ; объявление используемых данных n db 5 m db 3 t db 10 y dw ? ; объявление команд-инструкций mov AL, 2 mov BL, n mul BL mov CX, AX mov AL, m mov BL, t mul BL add AX, CX mov y, AX Табличное представление процесса генерации кода А-команда Описание ее обработки результат mov AL, 2 выделено имя MOV, поиск в ТК удачен, выделено имя AL, это регистр с номером 01, второй операнд - однобайтовая константа, следовательно это 4-ый вид команды с кодом 04 и длиной 3 байта, СА = 0003 04 01 02 mov BL, n выделено имя MOV, поиск в ТК удачен, выделено имя BL, это регистр с номером 04, второй операнд - имя области памяти с адресом 0000, следовательно это 1-ый вид команды с кодом 01 и длиной 4 байта, СА = 0007 01 04 0000 mul BL выделено имя MUL, поиск в ТК удачен, выделено имя BL, это регистр c номером 04, код команды 0Е, длина 2 байта, СА=0009 0Е 04 mov СX, AX выделено имя MOV, поиск в ТК удачен, выделено имя СX, это регистр с номером 09, второй операнд - регистр с номером 03, следовательно это 3-ий вид команды с кодом 03 и длиной 3 байта, СА = 000С 03 09 03 mov AL, m выделено имя MOV, поиск в ТК удачен, выделено имя AL, это регистр с номером 01, второй операнд - имя области памяти с адресом 0001, следовательно это 1-ый вид команды с кодом 01 и длиной 4 байта, СА = 0010 01 01 0001 mov BL, t выделено имя MOV, поиск в ТК удачен, выделено имя BL, это регистр с номером 04, второй операнд - имя области памяти с адресом 0002, следовательно это 1-ый вид команды с кодом 01 и длиной 4 байта, СА = 0014 01 04 0002 mul BL аналогично первой команде умножения, СА = 0016 0Е 04 add AX, СX имя ADD есть в ТК, имя AX определяет регистр 03, второй операнд определяет регистр 09, команда имеет код 06 и длину 3 байта, СА = 0019 06 03 09 mov y, AX имя MOV есть в ТК, имя ‘y’ есть в ТСИ с адресом 0003, имя AX определяет регистр 03, код команды 02, длина 4 байта, СА = 001D. Объем кода 1Dh = 29 байт 02 0003 03
подробнее
Заказчик
заплатил
200 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
20 дней
Заказчик принял работу без использования гарантии
5 февраля 2021
Заказ завершен, заказчик получил финальный файл с работой
5
Заказ выполнил
Svetlana80
5
скачать
Разработка модуля генерации машинных команд для программ с линейной структурой..docx
2021-02-08 00:06
Последний отзыв студента о бирже Автор24
Общая оценка
5
Положительно
Автор выполнила работу в самые короткие сроки, всем рекомендую !!!! Спасибо за приятный бонус )))))

Хочешь такую же работу?

Хочешь написать работу самостоятельно?
Используй нейросеть
Мы создали собственный искусственный интеллект,
чтобы помочь тебе с учебой за пару минут 👇
Использовать нейросеть
Тебя также могут заинтересовать
Автоматизация рабочего места инспектора отдела кадров
Дипломная работа
Информационные технологии
Стоимость:
4000 ₽
производственная практику по направления подготовки 09.03.03 «Прикл
Отчёт по практике
Информационные технологии
Стоимость:
700 ₽
На выбор "Требование к курсовой работе"
Курсовая работа
Информационные технологии
Стоимость:
700 ₽
Научно исследовательская работа по информационным технологиям
Отчёт по практике
Информационные технологии
Стоимость:
700 ₽
В программе Graph2Digit необходимо оцифровать изображение
Отчёт по практике
Информационные технологии
Стоимость:
700 ₽
Разработка проекта корпоративного информационного портала предприятия
Выпускная квалификационная работа
Информационные технологии
АЧХ антенного модуля систем мобильных связей
Реферат
Информационные технологии
Стоимость:
300 ₽
Информационные технологии
Контрольная работа
Информационные технологии
Стоимость:
300 ₽
Основы информационных технологий. Лабораторная работа №1
Лабораторная работа
Информационные технологии
Стоимость:
300 ₽
Анализ информационной системы организации МУК «Вахтанский историко-природный музей»
Дипломная работа
Информационные технологии
Стоимость:
4000 ₽
(Сайт не нужен)Разработка веб-сайта для салона проката и продажи карнавальных костюмов
Курсовая работа
Информационные технологии
Стоимость:
700 ₽
Контрольная работа по информационным технологиям
Контрольная работа
Информационные технологии
Стоимость:
300 ₽
Контрольная работа на тему "Сетевые модули ВОС. Языки спецификаций MSC и SDL."
Контрольная работа
Информационные технологии
Стоимость:
300 ₽
Самостоятельная, Практикум (Пабораторная работа)
Контрольная работа
Информационные технологии
Стоимость:
300 ₽
Сети и телекоммуникации
Контрольная работа
Информационные технологии
Стоимость:
300 ₽
информационный менеджмент
Контрольная работа
Информационные технологии
Стоимость:
300 ₽
Микропроцессорные системы
Контрольная работа
Информационные технологии
Стоимость:
300 ₽
Лабораторный практикум MS Project 2010
Контрольная работа
Информационные технологии
Стоимость:
300 ₽
КОНТРОЛЬНАЯ РАБОТА «РАЗРАБОТКА И ИСПОЛЬЗОВАНИЕ ЭЛЕКТРОННОЙ КАРТЫ В СРЕДЕ QGIS»
Контрольная работа
Информационные технологии
Стоимость:
300 ₽
Документальное сопровождение информационных систем
Контрольная работа
Информационные технологии
Стоимость:
300 ₽
цифровая обработка сигналов
Контрольная работа
Информационные технологии
Стоимость:
300 ₽
Решение задач, информационные технологии в менеджменте
Контрольная работа
Информационные технологии
Стоимость:
300 ₽
Читай полезные статьи в нашем
Перспективные исследования в области компьютерного обучения
Исследования в области компьютерного обучения сегодня развиваются по нескольким основным направлениям:
Системы компьютерного обучения, которые используют методику искусственного интеллекта, называют интеллектуальными обучающими системами (ИОС).
ИОС справедливо считают наиболее перспективным направлением развития систем компьютерного обучения. Они реализуют адаптивное и двухстороннее взаимодействие, ...
подробнее
Защита компьютерных сетей
Работа компьютерных сетей реализуется под управлением специального программного обеспечения. Линия связи в данном понимании — совокупность определенных технических устройств, и физической среды, которые обеспечивают трансформацию и передачу сигналов от передатчика к приемнику.
Как правило, компьютерные сети особо важны в компаниях и фирмах, где персонал работает над проектами, имеющими конфиденциа...
подробнее
Принципы системного анализа
Главенствующими в методиках системного анализа являются положения достаточно обобщённые. В них сосредоточен обобщённый подход к работе с различными системами, который и называют принципами системного подхода. Перечислим основные из них:
Декомпозиция подразумевает разбивку объекта на ряд подсистем, которые в свою очередь составлены из ещё более маленьких составных частей. Иногда декомпозицию предста...
подробнее
Информационные технологии в профессиональной деятельности
Информационные технологии являются процессом, который использует некоторый комплект методов и разных средств, служащих для поиска, хранения, обработки и трансляции информации для получения новых качественных данных об исследуемых предметах, процессах или явлениях.
Задачей информационной технологии считается поиск информации, которая далее подвергается анализу и по его результатам вырабатываются ре...
подробнее
Перспективные исследования в области компьютерного обучения
Исследования в области компьютерного обучения сегодня развиваются по нескольким основным направлениям:
Системы компьютерного обучения, которые используют методику искусственного интеллекта, называют интеллектуальными обучающими системами (ИОС).
ИОС справедливо считают наиболее перспективным направлением развития систем компьютерного обучения. Они реализуют адаптивное и двухстороннее взаимодействие, ...
подробнее
Защита компьютерных сетей
Работа компьютерных сетей реализуется под управлением специального программного обеспечения. Линия связи в данном понимании — совокупность определенных технических устройств, и физической среды, которые обеспечивают трансформацию и передачу сигналов от передатчика к приемнику.
Как правило, компьютерные сети особо важны в компаниях и фирмах, где персонал работает над проектами, имеющими конфиденциа...
подробнее
Принципы системного анализа
Главенствующими в методиках системного анализа являются положения достаточно обобщённые. В них сосредоточен обобщённый подход к работе с различными системами, который и называют принципами системного подхода. Перечислим основные из них:
Декомпозиция подразумевает разбивку объекта на ряд подсистем, которые в свою очередь составлены из ещё более маленьких составных частей. Иногда декомпозицию предста...
подробнее
Информационные технологии в профессиональной деятельности
Информационные технологии являются процессом, который использует некоторый комплект методов и разных средств, служащих для поиска, хранения, обработки и трансляции информации для получения новых качественных данных об исследуемых предметах, процессах или явлениях.
Задачей информационной технологии считается поиск информации, которая далее подвергается анализу и по его результатам вырабатываются ре...
подробнее
Теперь вам доступен полный отрывок из работы
Также на e-mail вы получите информацию о подробном расчете стоимости аналогичной работы