Да нет в общем то не получилось, если посчитать удаление паразитных NOP. Ну тут бзик у меня такой ))
Но в общем снять ещё можно, если скажем не прокручивать регистры длинными инструкциями, а прокручивать аккумулятор короткими, типа так :
- - - Добавлено - - -Код:add a,a ; 4 сдвиг битов влево ld d,a ; 4 and %01110000 ; 7 маска старших битов ld e,a ; 4 сохранение для d4 add a,a ; 4 сдвиг битов влево add a,a ; 4 сдвиг битов влево получение d7 для #1FFD , перенос в fC d7 для #7FFD rr d ; 8 возврат позиций младьших битов и установка d7 для #7FFD в рег. D or e ; 4 объединение битов d4 и d7 для #1FFD and %10010000 ; 7 маска ld bc,#1FFD ; 10 out (c),a ; 12 nop ; 4 на всякий х.з. случай. А может и не надо )) ld a,d ; 4 биты для #7FFD and %10000111 ; 7 маска or #10 ; 7 установка rom1 ld b,#7F ; 7 порт out (c),a ; 12 nop ; 4 опять фигня на всякий случай )) ret ; 10 усё ! ; Итог: ; 123 такта с паразитами, 115 без NOPов ; 29 байт с паразитами, 27 без nop
А -а ! Я вспомнил почему у меня были перепутаны биты для драйвера кая.
Это было сделано специально для совместимости с ram-диском Real Commander
Раньше использовался единый драйвер доп. памяти для кая и скорпиона и RC работает по формату этого драйвера. Хотя я считаю что не стоит пихать лишние биты по непонятному назначению, но ради совместимости спецификация идёт лесом ))
А вот для пентагона совместимость не выдержал, надо будет исправить ))



Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
