результа в стек. Пригадується
R16, R17 ; Склеим молодшу тетраду з порту зі старшою тетрадой даних
DATA_PORT, R16 ; Видамо цього мутанта в порт.
LCD_Delay ; ПодождемCMD_PORT, E ; Кинемо стрибає вниз - дані пішли в індикатор
LCD_Delay ; ПодождемCMD_PORT, E ; Піднімемо стробR16 ; Дістанемо з стека молодшу тетраду з портаR17 ; І дані які ми виводимо
R17 ; Поміняємо тетради місцями біля байта даннихR17, 0xF0 ​​span> ; віддаючи молодшу тетраду
R16, R17 ; Склеим молодшу тетраду з
; порту з старшої тетрадой даних (колишня молодша)
OUT DATA_PORT, R16 ; Видамо в порт
LCD_Delay ; ПодождемCMD_Port, E ; Кинемо стрибає
RCALL PortIn ; Порт повернемо в колишній стан - на вхід ; Дозволимо переривання ; Повернення
; ========================================= =================================
; Читання команди з дисплея. Результат у R17_RD: CLI ; Заборона прериванійBusyWait ; Чекаємо контроллерCMD_PORT, RS < span align = "justify">; Команда! RD_END ; Йдемо на читання
; Читання команди з дисплея. Результат у R17_RD: CLI ; Заборона переривань BusyWait ; Чекаємо контролер
SBI CMD_PORT, RS ; Дані! _END: ​​ SBI CMD_PORT, RW SBI CMD_PORT, E ; Піднімаємо стрибає LCD_Delay ; ЖдемR17 , DATA_PIN ; Читаємо з порту байтCMD_PORT, E ; кидаючи стрибає вниз
R17, 0xF0 ; отдавлівает йому молодшу тетрадуR17 ; Обмінюємо тетради місцями
LCD_Delay ; Жд...