Fast dot output inner loop. — ZXNet «code.zx»

Fast dot output inner loop.

ZXNet echo conference «code.zx»



from: Aleksey Malov
to: All
date: 29 March 2000
Приветствую тебя, All! Лови субж: ;d-y, e-x LD H,TAB_PTR/256 LD L,D LD D,(HL) INC H LD H,(HL) LD L,E LD E,(HL) INC H LD A,(DE) OR (HL) LD (DE),A ;ИТОГО: 65 тактов на точку (процедура с таблицей в 1К печатает за 73 такта) Пояснения по поводу tab_ptr: tab_ptr: [256 байт старшие байты адресов начала соотв. строк] tab_ptr+256: dup 4 ds 8,tx_00/256 ;8 байт tx/256 ds 8,tx_20/256 ds 8,tx_40/256 ds 8,tx_60/256 ds 8,tx_80/256 ds 8,tx_a0/256 ds 8,tx_c0/256 ds 8,tx_e0/256 edup таблица tb_xx содержит следующее: L/8+#xx; где L - младший байт адреса в таблице, ; #xx - соответствующее число из tb_xx по адресу tb_xx+256 - просто следующая фигня: dup 32 db #80,#40,#20,#10,#08,#04,#02,#01 edup итого: 4096+512=4.5K на таблицу. Если кому идея сажба не понятна, а понять охото - пишите мылом. Желаю вам здоровья, счастья и творческих узбеков. Aleksey Malov aka VIVID/Brainwave.