Курсовая работа: Микропроцессорная система управления предназначенная для использования на лесопильном заводе
Листинг 7 : инициализация ячеек суммарного объема и времени
; – – – начальное обнуление объема и времени
INI_VARXORA ;
LD (V_SUM), A ;
LD (V_SUM+1), A ;
LD (V_SUM+2), A ;
LD (TIME), A ;
LD (TIME+1), A ;
LD (TIME+2), A ;
LD (TIME+3), A ;
… ; следует продолжение переходит к основному циклу работы (описание см. в п.4.4).
Арифметические подпрограммы
Микропроцессорной системе необходимо “уметь” выполнять арифметические операции: сложение, вычитание, умножение, деление и косинус. В этом же разделе приведем и неарифметические процедуры для осуществления индикации: преобразования данных в двоично-десятичный код и в семисегментный.
Основным форматом чисел в МП системе является двухбайтный формат с фиксированной точкой вида 1байт , 1байт . Формат беззнаковый, предполагается, что числа положительны. Одно число умещается в одной регистровой паре. Минимальное представимое число – 0,01H =1/256=3,9×10-3 , максимальное – FF,FFН =256,996.
Общие правила для всех вычислительных процедур:
- программист вызывающей программы сам следит, чтобы операнды и результат не выходили за пределы представления и чтобы при вычитании не образовалось отрицательных величин;
- операнды при сложении, вычитании, умножении, делении хранятся в регистровых парах HL и DE, результат в HL. Процедура косинуса получает операнд и выводит результат в паре HL.
Сложение
В микропроцессоре Z80 есть команда сложения регистровых пар ADD HL, DE. Однако, чтобы сохранить единообразие, оформим ее все же как подпрограмму.
Листинг 8 : подпрограмма PLUS
; – – – подпрограмма сложения
; HL+DE®HL
; сохраняет A, BC, DE
PLUS ADD HL, DE ;
RET ;
Вычитание
В Z80 есть команда вычитания регистровых пар с учетом переноса SBC HL, DE. Используем ее в подпрограмме вычитания, обнулив прежде флаг CY.
Листинг 9 : подпрограмма MINUS
; – – – подпрограмма сложения