Курсовая работа: Выполнение арифметических действий и строковых операций
Для того, что бы транслятор мог предложения языка, они должны формироваться по определенным синтаксическим правилам. Для этого лучше всего использовать формальное описание языка, наподобие грамматики.
Общий формат команд на языке ассемблера.
рис.1
Команда
рис.2
Имя метки – идентификатор, значение которого является адрес 1 байта, предложенного текста программы, кот. он обозначает.
КОП – код операции, мнемоническое обозначение машинной команды или макрокоманды.
Операнды – части команды (макрокоманды) обозначающие объекты над которыми производится действие.
Допустимые символы для написания текста программ:
· все латинские буквы (заглавные и строчные являются эквивалентными);
· цифры 0-9;
· символы ?, _ , @, $, &;
· разделители и знаки операций.
Предложения языка ассемблера формируется из лексем, представляющих собой синтаксически не разделимые последовательности допустимых символов языка, имеющие смысл для транслятора.
Лексемами являются:
1. Идентификаторы – последовательности допустимых символов, использующиеся для обозначения кодов операций, переменных, констант, меток. Идентификатор может состоять из 1 или нескольких символов. В качестве символов могут использоваться латинский алфавит, цифры, символы ?, _ , @, $, &. Идентификатор не может начинаться с цифры. Допустимая длина до 255 символов, при этом транслятор воспринимает только 32 первых. Существует возможность указывать транслятору различие заглавных и строчных букв.
2. Цепочки символов – это последовательность символов, заключенные в одинарные или двоичные кавычки.
3. Целые числа – в одной из следующих систем исчисления: 2-ой, 10-ой, 16-ой.
Отожествление чисел производится по следующим правилам:
а) 10-е числа не требуют указания каких-либо дополнительных символов (25, 16);
б) 2-е числа требуют, чтобы после них стояла буква b (10011010b)
в) 16-е числа имеют больше условий при записи: во-первых – они состоят как из цифр, так и из символов латинского алфавита; во-вторых – у транслятора могут возникнуть сложности с распознаванием 16-ого числа, так как число может начинаться как с цифры, так и с символа. Для этого 16-е число обязательно заканчивается латинской буквой h (019ch).
Каждое предложение на языке ассемблера содержит описание объекта, над которым или с помощью которого выполняются некоторые действия, эти объекты называются операндами.
Операнды- это объекты (значение, регистры, ячейки памяти), на которые действуют инструкции или директивы или это объекты, которые уточняют действие инструкций и ли директив.
Операнды могут комбинироваться с арифметически – логическими, побитовыми операторами для расчета некоторого значения или определения ячейки памяти, на которую будет воздействовать команда.
3. Арифметика
3.1 Алгоритм программы