ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
12 июля
442703 Топик полностью
BlackPrapor (17.09.2013 09:09, просмотров: 87) ответил fk0 на Что конкретно быстрее? Тысяча LDI, LDI, LDI... вместо одного LDIR? Или push hl, push hl, push hl? Да без стека тяжко. Ещё вариант: LD HL,#xx, LD (#yy),HL. По скорости уже не то, по размеру ещё хуже чем LDI.
Да, через стек делалось Указатель на источник -- забиваем регистровые пары, все, которые не используем, посредством POP Указатель на приемник -- сваливаем из регистровых пар в "стек" посредством PUSH. Дальше цикл на повтор, но можно линейно повторить последовательность, чем больше в теле цикла таких последовательностей, тем ближе скорость такт/байта к скорости PUSH(POP). Но особенно замечательно это все работало на заполнении константой области (скажем, почистить экранное ОЗУ) Указатель стека на конец области и пихаешь потом константу из регистровой пары. И все это в цикле, чем больше таких пушей в цикле тем быстрее. В пределе, 4к экрана вообще без цикла посредством 2000 PUSH можно запихать :-D. Если памяти не жалко.