Сб окт 20, 2018 00:35:21
Alkul писал(а):Не верю - ответ был написан почти через два часа
ARV писал(а):у товарища коментарии в программе из следующего разряда...
dosikus писал(а):ты еще не видел корабельников_стайл , там в обязательном порядке надо было комментировать каждую строчку на асме.
roman.com писал(а):каждый пишет кому как удобней )) Главное чтобы сам понимал что пишешь))
Сб окт 20, 2018 19:06:47
Сб окт 20, 2018 19:52:12
;Макрос вычисляет адрес символа по его номеру, который перед стартом макроса должен быть
;в рег.R25 и возвращает в рег.R25 код индицируемого символа
.macro GETCODE
push R3 ;Сохранить на стеке
push ZL ;используемые
push ZH ;регистры
ldi ZL,low(TABLSEG) ;Занести в рег.пару Z начальный адрес
ldi ZH,high(TABLSEG) ;таблицы с кодами отображаемых символов
clr R3 ;Обнулить регистр, который будет прибавляться с старшему байту адреса для
;учета бита переноса при сложении младшего байта адреса со смещением
add ZL,R25 ;Прибавить к младшему байту адреса номер отображаемого символа
;как смещение от начала таблицы
adc ZH,R3 ;Прибавить к старшему байту адреса нуль с учетом переноса из младшего разряда
lsl ZL ;Умножить адрес начала строки на 2, так как доступ к флеш-памяти
rol ZH ;осуществляется побайтно
lpm R25,Z ;Занести в рег.R25 код индицируемого символа из таблицы TABLSEG во флеш-памяти
pop ZH ;Восстановить со стека
pop ZL ;использованные
pop R3 ;регистры
.endmacro
Сб окт 20, 2018 20:28:54
это примерно так же, как если бы у вас на холодильнике висела бирочка "это холодильник", на двери "это дверь", на собаке "это собака" и на каждом члене вашей семьи тоже висели бы бирочки с именем и типом родства.Alkul писал(а):Это плохо?
Сб окт 20, 2018 20:55:30
Сб окт 20, 2018 21:44:31
Alkul писал(а):Вы рекомендуете новичкам очень плохой стиль программирования.
Сб окт 20, 2018 22:15:21