La recherche a retourné 61 résultats
Aller sur la recherche avancée
- par ker2x
- ven. 13/nov./2015 16:17
- Forum : ASM
- Sujet : Organisation de la mémoire au moment de l'amorçage.
- Réponses : 5
- Vues : 6149
S'il y en a que ca interesse (même 5ans après le post) :
En gros c'est le bordel et t'as aucune garantie.
J'me suis amusé a coder un bout de bootloader (que je ne finirai probablement jamais) en ASM pur et que j'ai commenté a fond.
Je ne fais pas tous les tests possibles et imaginable et je me base ...
- par ker2x
- ven. 13/nov./2015 15:10
- Forum : ASM
- Sujet : Grosse perte de perf... PB -> ASM
- Réponses : 7
- Vues : 6690
5ans plus tard j'ai perdu mon code source et j'arrive pas a relire le peu que j'ai pu poster.
Serieux. j'ai codé ca moi ? Je suis jaloux de mon moi d'il y a 5ans.

- par ker2x
- jeu. 28/janv./2010 22:28
- Forum : Débutants
- Sujet : Galere avec les pointeurs, PokeF, Memory Viewer
- Réponses : 4
- Vues : 814
Y'a du mieux
Structure RandomStruct
r.f
EndStructure
Global Dim randomBuffer.RandomStruct(plots*2)
Define *pointeur.randomStruct = @randomBuffer()
For k = 0 To plots*2
Define.f tmp
tmp = (Random(RandMax)/(RandMaxBy4)) - 2.0
*pointeur\r = tmp
*pointeur + SizeOf(randomStruct)
Next k
J ...
- par ker2x
- jeu. 28/janv./2010 22:05
- Forum : Débutants
- Sujet : Galere avec les pointeurs, PokeF, Memory Viewer
- Réponses : 4
- Vues : 814
Heuuu ... ca rame grave !!
Ca fait un appel de fonction a chaque Peek et a chaque Poke, c'est ignoble.
Comment je peux y acceder directement ?
Parce que la... je voulai accelerer mon code et j'ai perdu 20% de perf rien qu'a cause de ca ...
Ca sert a rien que je continue a optimiser si j'ai pas ...
- par ker2x
- jeu. 28/janv./2010 21:28
- Forum : Débutants
- Sujet : Galere avec les pointeurs, PokeF, Memory Viewer
- Réponses : 4
- Vues : 814
Un petit bout de code simple
Global *RandomBuffer = AllocateMemory(2 * plots * SizeOf(Float))
[...]
For k = 0 To plots*2
Define.f tmp
tmp = (Random(RandMax)/(RandMaxBy4)) - 2.0
PokeF(*RandomBuffer + (plots*SizeOf(Float)),tmp)
Next k
J'utilise le variable viewer pour recuperer l'adresse ...
- par ker2x
- lun. 04/janv./2010 16:51
- Forum : ASM
- Sujet : Optimisation : Trouver la valeur max d'un tableau
- Réponses : 5
- Vues : 3676
J'ai fini par optimiser tout ca a coup de SSE et d'utilisation maline des registre SSE dans la boucle :)
pour repondre a la premiere question de ce thread, il existe une instruction SSE4 pour aider a la recherche d'une valeur max d'un tableau.
Mais comme je n'ai pas de cpu qui gere le SSE4 ... j ...
- par ker2x
- lun. 04/janv./2010 16:33
- Forum : ASM
- Sujet : Convention d'appel de fonction PB_ (PB 4.40 x64)
- Réponses : 10
- Vues : 5521
Je viens de trouver ca sur un site :
Bien que la pile utilise des quadruples mots (8 octets soit 64 bits), le pointeur de pile (RSP) doit toujours être aligné sur un multiple de 16 avant d'appeler une API.
Ref. : AMD64 ABI Ref. : http://msdn2.microsoft.com/en-us/library/ew5tede7(VS.80).aspx ...
- par ker2x
- lun. 04/janv./2010 13:13
- Forum : ASM
- Sujet : Convention d'appel de fonction PB_ (PB 4.40 x64)
- Réponses : 10
- Vues : 5521
Ha bein j'avais bien trouvé, une partie du moins :)
The x87 register stack is unused. It may be used, but must be considered volatile across function calls. All floating point operations are done using the 16 XMM registers.
The arguments are passed in registers RCX, RDX, R8, and R9.
If the ...
- par ker2x
- lun. 04/janv./2010 13:02
- Forum : ASM
- Sujet : Convention d'appel de fonction PB_ (PB 4.40 x64)
- Réponses : 10
- Vues : 5521
Il manque aucune feature.
Mais comme l'optimisation consiste a modifier le code fasm generé par purebasic pour qu'il soit plus rapide, c'est plus simple de bosser directement sur le fichier FASM que de remplacer les fonctions purebasic par de l'InlineASM.
Bon par contre ca veut dire qu'on ne peut ...
- par ker2x
- lun. 04/janv./2010 10:25
- Forum : ASM
- Sujet : Convention d'appel de fonction PB_ (PB 4.40 x64)
- Réponses : 10
- Vues : 5521
Merci pour l'info, je vais lire ca.
Je force justement le 64bits car derriere je patche le code FASM (j'ai arreté l'inline ASM, pas assez souple) et utilise des instructions SSE,2,3 x64.
La portabilité c'est pas mon soucis :)
Au passage, il est tres facile d'optimiser du code FASM genere par ...
- par ker2x
- lun. 04/janv./2010 7:21
- Forum : ASM
- Sujet : Convention d'appel de fonction PB_ (PB 4.40 x64)
- Réponses : 10
- Vues : 5521
J'ai changé le code en :
; Plot(i,j,iter)
MOVZX rcx,r13w ; arg i
MOVZX rdx, r14w ; arg j
MOV r8, qword [v_iter]
CALL PB_Plot2
Sachant que j'avais optimisé plus haut pout que r13w et et r14w contiennent i et j :)
C'est quand meme plus propre, et ca marche :)
Mais ca ne m'aide pas pour ...