Разработка алгоритма и программы на ассемблере
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
бразом, программа будет состоять из основной программы, и подпрограмм многобайтного сложения, вычитания и сдвига влево.
3. Разработка программы на ассемблере
Согласно разработанной в предыдущем разделе структурной схемы программы была разработана программа на языке ассемблер для микропроцессора КР580ВМ80.
Листинг программы на языке ассемблер приведен в приложении.
Входные числа x1, x2 должны быть расположены в ячейках памяти, начиная с меток x1, x2, соответственно, и занимают каждое 4 байта. Результат вычисления функции располагается в ячейках памяти, начиная с метки y, и занимает также 4 байта.
В программе также используются четыре переменные tmp1, tmp2, tmp3, tmp4, которые используются для хранения промежуточных результатов операций. Каждая переменная занимает пять байт. Переменные располагаются в ячейках памяти по меткам:
tmp1 - метки tmp1L, tmp1H, tmp1HH;
tmp2 - метки tmp2L, tmp2H, tmp2HH;
tmp3 - метки tmp3L, tmp3H, tmp3HH;
tmp4 - метка tmp4L, tmp4H, tmp4HH.
Для определения как будут размещаться программа и данные в памяти необходимо провести распределение адресного пространства.
Адресное пространство КР580ВМ80 составляет 64кБ. В данном пространстве должна располагаться память программ (ПЗУ) и память данных (ОЗУ). В памяти данных также должна быть определена область для стека. Так как при включении или сбросе процессор начинает выполнять команды с адреса 0, память программ должна начинаться с данного адреса.