С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
я так понимаю zxmc2 по дефолту в фениксе
а их там штук 6 ревизий по 10+ плат
...не уверен что он во всех ревизиях конечно...
а если я не владелец zxmc2?
да и некуда мне его вставлять...
ну а вскорости умножения zxmc2 похвастаться не может
вот в точности этого умножения да
тк все умножалки делилики по скорости не уступающие zxmc2
при этом дают только 8битный результат с пониженной точностью
так же можно было бы запилить из умножения полу хардварное деление 8b/8b=16b (8бит дробная часть)
если в аврке есть место под 256 байт таблицу (1/х)*256
(деление на 1 будет с небольшой ошибкой тк можно занести в таблицу только 255 когда нужно 256)
просто умножаем делимое на делитель пропущенный через таблицу
- - - Добавлено - - -
а так на тему хардварного умножения
быстрей всего было бы, в плане передачи данных туда и обратно, реализация оно в виде
например так
a = число A
c = число B
b = адрес порта для нужной операции \ ну или в с чтоб можно было быстро читать результат при помощи in a,(n)
out (C),a
in a,(C)
out (C),a
in l,(C)
inc b
in h,(C)
с таким бы умножением\делением
z80 бы уже не смог тягаться
- - - Добавлено - - -
как щас
как могло бы бытьКод:ld bc,$E8EF ;10 out (c),e ;12 inc b ;4 out (c),d ;12 inc b ;4 in l,(c) ;12 inc b ;4 in h,(c) ;12 ; 70t
если бы порт выдавал 2 байта по очередиКод:ld c,port ;7 out (c),a ;12 in l,(c) ;12 inc c ;4 in h,(c) ;12 ; 47t
Код:ld c,port ;7 out (c),a ;12 in l,(c) ;12 in h,(c) ;12 ; 43t
ну и 8 битный результат мог бы получаться так
хотя с самой аморальной формой софтварного умножения\деления\и всего чего только захочешь одновременноКод:ld c,port ;7 out (c),a ;12 in a,(port) ;11 ; 30t
6b ? 8b = 8b
ld a,(hl) не особо то потягаешься![]()
Последний раз редактировалось NEO SPECTRUMAN; 19.10.2019 в 08:27.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)