English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1424) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.04.27. 20:05)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés
Σ: 1 post

TCH  (statz) Főfasz
#1, Főfasz (10443)
1923 | #1f2e | ^ | Idézet | Sun, 12 Aug 2012 01:03:09 +02
31.46.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
Na, a multkorában ugye ott álltunk le a 255-el való osztás optimalizálásában, hogy 16 bitre van módszerünk 32 bitre ugyan van egy képlet a GCC-ből ( (x*0x80808081) >> 39 ), ehhez azonban 64 bites aritmetika kellene. Na én a következőt hoztam össze 68000-es procin 32 bites aritmetikával.
; FUCK MICROSOFT
; (x*0x80808081)>>39
; ((x << 31) + (x << 23) + (x << 15) + (x << 7) + x) >> 39

dff:	or.l d0, d0
	bne dff_0
	rts

; d0: x hi, d1: x lo, d2: s hi, d3: s lo

dff_0:	move.l d1, -(sp)
	move.l d2, -(sp)
	move.l d3, -(sp)
	move.l d4, -(sp)
	move.l d0, d3
	move.l d0, d1
	moveq #0, d0
	moveq #0, d2

; shift s to left by 7, then add to x (x << 7)

	move.l d3, d4
	asl.l #7, d3
	asl.l #7, d2
	asr.l #25, d4
	or.l d4, d2

	add.l d3, d1
	bcc dff_1
	addq #1, d0
dff_1:	add.l d2, d0

; shift s to left by 8, then add to x (x << 15)

	move.l d3, d4
	asl.l #8, d3
	asl.l #8, d2
	asr.l #24, d4
	or.l d4, d2

	add.l d3, d1
	bcc dff_2
	addq #1, d0
dff_2:	add.l d2, d0

; shift s to left by 8, then add to x (x << 23)

	move.l d3, d4
	asl.l #8, d3
	asl.l #8, d2
	asr.l #24, d4
	or.l d4, d2

	add.l d3, d1
	bcc dff_3
	addq #1, d0
dff_3:	add.l d2, d0

; shift s to left by 8, then add to x (x << 31)

	move.l d3, d4
	asl.l #8, d3
	asl.l #8, d2
	asr.l #24, d4
	or.l d4, d2

	add.l d3, d1
	bcc dff_4
	addq #1, d0
dff_4:	add.l d2, d0

; shift upper x to right by 7 and return (x >> 39)

	asr.l #7, d0
	move.l +(sp), d4
	move.l +(sp), d3
	move.l +(sp), d2
	move.l +(sp), d1
	rts
Ezt a közeljövőben ki fogom próbálni Amigán, a 16 bites ALU-s 68000-esen 7.14 MHz-en és a full 32 bites ALU-val bíró 68030-ason is 40 MHz-en. Az egyik kód egy sima div 255 lesz, a másik meg ez. Látatlanban az a saccom, hogy 68000-esen egy osztás 140 ciklus körül van, vagyis ott lehet, hogy gyorsabb lesz, 030-ason, ahol kb. 60 ciklus egy osztás, ott nem lesz gyorsabb.


English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1424) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.04.27. 20:05)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés

Név: (max 255 byte)

Email: (max 255 byte) Nem kötelező!

Üzenet: (max 65536 kar.) 65536-0=65536




crap_vkn v4.34.0 by TCH
Thx to saxus for the escaped string decoder function (PHP), the realIP function (PHP) & the SQL handle layer (PHP), to thookerov for the int_divide function (PHP), to Jeff Anderson for the getSelText function (JS), to Alex King for the insertAtCursor function (JS), Flood3r for the new CSS styles, Pety for the spamprotection idea and some design and comfort ideas, MaxMind for the IP2Country database, famfamfam for the flags of countries and an unknown PHP programmer for the removeAccents function.



Kecskebaszók ide!