вот неугомонный![]()
вот неугомонный![]()
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Предлагаю г-ну Колотову использовать это в грядущих демахИли 4k
![]()
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
што, опять атрибутами?оО
Другая задачка: рисуем букву атрибутами (8х8 знакомест)
Никаких PUSH POP !!!
Вариант 2 (изменяемый цвет фона):Код:; ATTR symbol print by Dr.Bars (29 bytes) ; HL = ATTR_ADR (#5800) ; A = Letter_code ; E = Color_code (#57) ATTR_SYM: EXX ADD A,A LD L,A LD H,#0F ADD HL,HL ADD HL,HL LD B,#08 L2 LD A,(HL) EXX LD BC,#0818 L1 RLA LD D,A SBC A,A AND E LD (HL),A LD A,D INC L DJNZ L1 ADD HL,BC EXX INC L DJNZ L2 RET
Юзается push/pop
Код:PRINT: LD HL,#5800 LD A,#7F LD D,#57-#07 LD E,#07 ; ATTR symbol print by Dr.Bars (30 bytes) ; HL = ATTR_ADR (#5800) ; A = Letter_code ; D = Color_code - Background_code ; E = Background_code ATTR_SYM: ADD A,A EXX LD L,A LD H,#0F ADD HL,HL ADD HL,HL LD B,#08 L2 LD A,(HL) EXX LD BC,#0818 L1 RLA PUSH AF SBC A,A AND D ADD A,E LD (HL),A POP AF INC L DJNZ L1 ADD HL,BC EXX INC L DJNZ L2 RET
---------- Post added at 00:25 ---------- Previous post was at 00:16 ----------
P.S моя процедурка вывода спрайта никому не интересна?
Она ведь чуть медленее табличного варианта по скорости.
Последний раз редактировалось drbars; 12.06.2014 в 08:29.
В голове прокрутил - да.
Испробовать пока-что не с руки.
Да и ревюшники хоть и пыжились (мол мы тут все тру), но бывало что и ушами хлопали всякий бред печатая без проверки.
А уж что рассылали (причём за деньги) - про то вообще отдельная песня.
Сколько жалоб в прессе на их "дистрибутивы".
Хотя конечно понять можно: тогда это дело только зарождалось, конечно в те времена только методом проб и ошибок...
Ещё в дополнение рисования буквы атрибутами на весь экран, мой пример:
Он не самый короткий, но показывает насколько ассебмлер многогранен
Код:; fullscreen (32x24) letter print by Dr.Bars ; A = symbol code - 1 ADD A,A SBC HL,HL ADD HL,SP LD SP,#5B00 EXX LD L,A LD H,#0F ADD HL,HL ADD HL,HL EX DE,HL LD C,#08 L2 DEC DE LD A,(DE) LD B,#18 L1 RRCA SBC HL,HL PUSH HL PUSH HL DJNZ L1 DEC C JR NZ,L2 EXX LD SP,HL RET
А если хранить текст не кодами символов, а уже адресами литер - то можно и ещё сэкономить.
"Но, господа, это уже не физика!" (Это цитата. В данном случае она означает что экономия байтов уже начинает перетекать в абстрактную задачу. Хотя в частных случаях возможно это и пригодится.)
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)