Temat: Porównanie różnych metod multiplikacji na 6502
Wiele metod, dokładna analiza, może ktoś skorzysta:
https://github.com/TobyLobster/multiply_test
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
BigPEmu 1.12 Richard Whitehouse wydał BigPEmu 1.12
FujiNET firmware v1.3.0 Nowa wersja oprogramowania do interfejsu sieciowego FujiNET. Tym razem z obsługą TCP!
hatari 2.5.0 Od dwóch dni dostępna jest najnowsza (2.5.0) wersja Hatari.
Grawitacja 2024 Czas na kolejną edycję 8 bitowego GameJamu.
Tenebra na Atari ST/STE Wersja gry na duże atari.
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
Wiele metod, dokładna analiza, może ktoś skorzysta:
https://github.com/TobyLobster/multiply_test
Wow. Aż miło poczytać taką analizę. Dobra rzecz!
no ja nadal nie mogę się zdecydować którą wybrać ;)
Oczywiście z Syzygy 6. Bez znaku to samo co mult14, ze znakiem tutaj są wolniejsze.
Ostatnio edytowany przez Fox (2024-02-18 20:12:11)
Wrzuciłem jako smult10.
Edit: @Laoo: możeby tak wzmianka o akceleracji na Lynxie?
Ostatnio edytowany przez Fox (2024-02-19 08:02:48)
Hm... chyba to nie jest w zakresie tego artykułu. Na Lynksie po prostu wpisuje się wartości do rejestrów w odpowiedniej kolejności i po zapisaniu ostatniej + kilka cykli można z innych rejestrów przeczytać wynik. To nie ma związku z 6502 nawet do tego stopnia, że arytmometr mieści się w drugim czipie, w Suzy, czyli tym, który robi za blitter.
No i gratuluję najszybszego algorytmu 8x8!
https://github.com/TobyLobster/multiply … re-support
Aaa... tego punktu nie doczytałem. No to faktycznie. Można tam dodać.
Bardzo fajny artykuł. Chciałbym, żeby mądre głowy napisały podobny o dzieleniu i innych operacjach.
Ale Panowie. Tak trochę na marginesie.
Szanujmy się.
To jest "Porównanie różnych algorytmów mnożenia na 6502"!!!
Jak widzę ten obecny tytuł wątku to oczy krwawią!
A mnie się taki tytuł podoba i związku z tym czekam na adekwatny o dzieleniu: "Porównanie różnych metod dywagacji na 6502" innych działaniach: addycji i subSRAcji. ;-)
dzielenie? to inna bajka, nie spotkałem się z podobnymi do mnożenia metodami przyspieszającymi dzielenie, rozpętlenie pętli co najwyżej
@Tebe Przecież dzielenie to mnożenie przez odwrotność. W arytmetyce modularnej to nawet działa. Nawet sam dawałeś przykład kodu parę lat temu, a ja dopisałem do tego trochę teorii.
W silniku portalowym Numena projekcja perspektywiczna jest realizowana przez wyznaczenie 40/Z i potem mnożenie.
Mnie też kłuje ta "multiplikacja", ale popieram "metody", bo są tam różne implementacje tego samego algorytmu.
xp := cx - newX div newZ;
https://codebase64.org/doku.php?id=base … it_product
wymaga poprawek, bo wynik dzielenia nie jest dokładny
https://www.bbcelite.com/6502sp/main/su … /ll28.html
https://gmplib.org/~tege/divcnst-pldi94.pdf
Ostatnio edytowany przez tebe (2024-02-23 13:05:34)
Oficjalnie posypuję głowę popiołem i przepraszam wszystkich urażonych ;) Ten anglicyzm wkradł się pewnie dlatego że wątek założyłem od razu po przeczytaniu artykułu.
Moje smult10 zostało zoptymalizowane o dwa cykle przy pomocy 256-bajtowej tablicy. Widzę też możliwość optymalizacji:
txa
eor #$80
tax
przy pomocy nielegala:
txa
sbx #$80
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
[ Wygenerowano w 0.077 sekund, wykonano 10 zapytań ]