Это кстати самая быстрая переброска блоков, что мне известна.
Это кстати самая быстрая переброска блоков, что мне известна.
Andrew771, ты неправильно считаешь.
10+40+4+30+10+33+4+44=175/14=12.5t/byteКод:ld sp,#src pop af pop bc pop de pop hl exx pop bc pop de pop hl ld sp,#dest push hl push de push bc exx push hl push de push bc push af
а всё, дошло. Выкидываем только ex af',af![]()
AFAIK, самая быстрая переброска памяти- это
Код:pop hl ld (xxxx),hl
---------- Post added at 15:33 ---------- Previous post was at 15:33 ----------
AFAIK, самая быстрая переброска памяти- это
Код:pop hl ld (xxxx),hl
А можно не перебрасывать, а прямо хранить данные в ld de,...ush de. Так делаются фреймовые листалки в газетах.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
26/2=13
итого 13 тактов на байт
175/14=12.5Код:ld sp,adr 10 pop hl,de,bc,af 40 exx 4 pop hl,de,bc 30 ld sp,adr 10 push bc,de,hl 33 exx 4 push af,bc,de,hl 44
итого 12.5 тактов на байт
чего сказать то хотел?
---------- Post added at 18:22 ---------- Previous post was at 18:13 ----------
ld de,#nnnn ;10
push de ;11
21
итого 10.5 байт
но нам надо двигать кусок памяти
С уважением,
Jerri / Red Triangle.
При переносе при помощи POP и PUSH на 1 байт не обязательно переустанавливать стек, его достаточно сдвинуть либо DEC SP либо INC SP (постоянно путаю) это чуть быстрее
Последний раз редактировалось GM BIT; 20.12.2012 в 18:31.
GM BIT, really?
или как?Код:pop hl 10 dec sp 6 push hl 11 inc sp 6
С уважением,
Jerri / Red Triangle.
Да не! берем 20 байт dec sp ложим 20 байт. взамен второго ld sp,adr
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)