Wiele metod, dokładna analiza, może ktoś skorzysta:
https://github.com/TobyLobster/multiply_test
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
TURGEN 9.3.0 Kolejna wersja multiplatformowego narzędzia do zarządzania obrazami taśm.
SV 2024 WE - program imprezy Już za tydzień odbędzie się zimowa edycja Silly Venture
Nowa obudowa dla 800XL - zostało 36 dni Niewiele ponad miesiąc do końca kampanii.
Zmarł twórca języka BASIC Zmarł Thomas E. Kurtz twórca języka BASIC
Zmiana serwera atari.area Serwis przeszedł właśnie ważną aktualizację infrastruktury
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.021 sekund, wykonano 67 zapytań