Wiele metod, dokładna analiza, może ktoś skorzysta:
https://github.com/TobyLobster/multiply_test
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Doom8088 dla Atari ST Nowy port Dooma na Atari ST bazuje na wersji dla 8088 i wspiera tylko pierwszy epizod
Altirra 4.40 test 13 z Floppy Board Nowa wersja testowa Altirry dodaje wsparcie dla Black Box Floppy Board
Piszemy grę - część 3. już 17 czerwca Trzeci odcinek kursu tworzenia gier na Atari 8-bit będzie o rysowaniu postaci.
Wee Ninja - również na Atari 8-bit! Gra Wee Ninja dostępna także dla Atari 8-bit z 48K RAM - najlepiej z Joy 2B+
Invitka na SV2025SE na Atari XL/XE Nowa invitka na letnią edycję Silly Venture 2025 dla Atari XL/XE już dostępna
atari.area forum » Programowanie - 8 bit » Porównanie różnych metod multiplikacji na 6502
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.
Wrzuciłem jako smult10.
Edit: @Laoo: możeby tak wzmianka o akceleracji na Lynxie?
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
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ź
atari.area forum » Programowanie - 8 bit » Porównanie różnych metod multiplikacji na 6502
Wygenerowano w 0.020 sekund, wykonano 64 zapytań