Temat: Porównanie różnych metod multiplikacji na 6502

Wiele metod, dokładna analiza, może ktoś skorzysta:

https://github.com/TobyLobster/multiply_test

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

2

Odp: Porównanie różnych metod multiplikacji na 6502

Wow. Aż miło poczytać taką analizę. Dobra rzecz!

3

Odp: Porównanie różnych metod multiplikacji na 6502

no ja nadal nie mogę się zdecydować którą wybrać ;)

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

4

Odp: Porównanie różnych metod multiplikacji na 6502

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)

https://www.youtube.com/watch?v=jofNR_WkoCE

5

Odp: Porównanie różnych metod multiplikacji na 6502

Wrzuciłem jako smult10.

Edit: @Laoo: możeby tak wzmianka o akceleracji na Lynxie?

Ostatnio edytowany przez Fox (2024-02-19 08:02:48)

https://www.youtube.com/watch?v=jofNR_WkoCE

6

Odp: Porównanie różnych metod multiplikacji na 6502

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!

7

Odp: Porównanie różnych metod multiplikacji na 6502

https://github.com/TobyLobster/multiply … re-support

https://www.youtube.com/watch?v=jofNR_WkoCE

8

Odp: Porównanie różnych metod multiplikacji na 6502

Aaa... tego punktu nie doczytałem. No to faktycznie. Można tam dodać.

9

Odp: Porównanie różnych metod multiplikacji na 6502

Bardzo fajny artykuł. Chciałbym, żeby mądre głowy napisały podobny o dzieleniu i innych operacjach.

What can be asserted without proof can be dismissed without proof.

10

Odp: Porównanie różnych metod multiplikacji na 6502

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ą!

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

11

Odp: Porównanie różnych metod multiplikacji na 6502

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. ;-)

Zawsze mam rację, tylko nikt mnie nie słucha.

12

Odp: Porównanie różnych metod multiplikacji na 6502

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/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

13

Odp: Porównanie różnych metod multiplikacji na 6502

@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.

14

Odp: Porównanie różnych metod multiplikacji na 6502

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.

https://www.youtube.com/watch?v=jofNR_WkoCE

15

Odp: Porównanie różnych metod multiplikacji na 6502

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)

Post's attachments

fdivu_8d8.asm 1.86 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

Odp: Porównanie różnych metod multiplikacji na 6502

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.

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

17

Odp: Porównanie różnych metod multiplikacji na 6502

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
https://www.youtube.com/watch?v=jofNR_WkoCE