Разработка транслятора упрощенного языка ассемблера. Преобразование файла в мнемокодах в файл, содержащий объектный двоичный код. Анализ набора команд. Выбор формата ассемблерной команды. Методика определения типа операнда. Формирование строки листинга.
Анализ набора команд 3. Описание программы 7.1 Класс Asm 7.2 Класс SourceLine 7.3 Класс InfoBag 7.4 Класс ListingLine 7.5 Класс BinCom 7.6 Класс DiagLine 8. Отладка и тестирование программы 8.1 Исходные данные 8.2 Файл листинга 8.3 Файл диагностики 8.4 Бинарный файл Заключение Список литературы Приложение Введение Ассемблер (от англ. assembler - сборщик) - компьютерная программа, компилятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке. Первый байт определяет код команды в соответствии с таблицей команд (биты 0-3). Следующие 4 бита предназначены для указания номера регистра, коммутируемого к буферному регистру а. Второй байт используется для задания адреса памяти, где находится второй операнд. Если в качестве второго операнда используется регистр, то его номер хранится в младших 4-х битах второго байта команды, а старшие 4 бита не используются. Код Мнемокод и операнды Описание 0000 ILR регистр Rn:=Rn флаг переполнения 0001 NOTR регистр Rn:= Rn флаг переполнения 0010 ADR регистр,память Rn:=Rn Память[Адрес] флаг переполнения 0011 CLR регистр Rn:=0 0100 ONR регистр, адрес Rn:= Rn ?Память[Адрес] 0101 ANR регистр, адрес Rn:= Rn ?Память[Адрес] 0110 XNR регистр, адрес Rn:= Rn?Память[Адрес] 0111 JZ адрес Переход, если результат равен 0 1001 JL адрес Переход, если результат меньше 0 1010 JMP адрес Безусловный переход 1011 CLF Регистр флагов := 0 1100 DOP регистр Перевод содержимого Rn в дополнительный код 1101 LOAD регистр, адрес Rn:= Память[адрес] 1110 SAVE регистр, адрес Память[адрес]:= Rn 1111 CMP регистр, адрес Сравнение содержимого Rn и Память[адрес]. Если длина массива слов исходной строки равна нулю или , или начинается с символа ;, то тип строки - C.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы