PureBasic

Forums PureBasic
Nous sommes le Dim 21/Juil/2019 13:54

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 16 messages ]  Aller à la page 1, 2  Suivante
Auteur Message
 Sujet du message: Help me please
MessagePosté: Dim 27/Juil/2008 12:11 
Qui peut me convertir se code en asm fasm ?:

Code:
#pragma aux inner = \
    "    push  ebp                                      "\
    "    rol   eax, 16                                  "\
    "    rol   edx, 16                                  "\
    "    mov   bl, al                                   "\
    "    mov   bh, dl                                   "\
    "    mov   esi, [_dudx]                             "\
    "    mov   ebp, [_dvdx]                             "\
    "    shl   esi, 16                                  "\
    "    mov   dl, byte ptr [_dudx+2]                   "\
    "    shl   ebp, 16                                  "\
    "    mov   dh, byte ptr [_dvdx+2]                   "\
    "    lea   edi, [edi+ecx]                           "\
    "    xor   ecx, -1                                  "\
    "    inc   ecx                                      "\
    " next:                                             "\
    "    mov   al, [ebx]                                "\
    "    add   edx, ebp                                 "\
    "    adc   bh, dh                                   "\
    "    add   eax, esi                                 "\
    "    adc   bl, dl                                   "\
    "    mov   [edi+ecx], al                            "\
    "    inc   ecx                                      "\
    "    jnz   next                                     "\
    "    pop   ebp                                      "\
    parm [edi] [ecx] [ebx] [eax] [edx] modify [eax ebx ecx edx esi edi]


je pige que dale :/
Merci :D


Haut
  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Dim 27/Juil/2008 15:48 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 4217
Localisation: Arras, France
Tu veux te mettre au texture mapping? :D Ca devrait donner qq chose comme ça
Code:
dudx.l = 0
dvdx.l = 0
  !PUSH  ebp
  !ROL   eax, 16 
  !ROL   edx, 16 
  !MOV   bl, al   
  !MOV   bh, dl   
  !MOV   esi, [v_dudx]
  !MOV   ebp, [v_dvdx]
  !SHL   esi, 16 
  !MOV   dl,  byte [v_dudx+2]   
  !SHL   ebp, 16 
  !MOV   dh,  byte [v_dvdx+2]   
  !LEA   edi, [edi+ecx]   
  !XOR   ecx, -1 
  !INC   ecx 
!SUIV:
  !MOV   al, [ebx]
  !ADD   edx, ebp
  !ADC   bh, dh   
  !ADD   eax, esi
  !ADC   bl, dl   
  !MOV   [edi+ecx], al
  !INC   ecx
  !JNZ   SUIV
  !POP   ebp 

Remarque : la fonction attend en entrée des paramètres dans des registres qui sont normalement utilisés par pure. Il faudrait soit les sauvegarder/restaurer, soit utiliser d'autres registres, ou des variables.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Dim 27/Juil/2008 17:28 
Citation:
Tu veux te mettre au texture mapping?


Tu voit cela comment ?? 8O

Ca peut être n'importe quoi , mais sinon , oui , c'est pour faire de la rasterization software. :D

Merci , Djes. :wink:


Haut
  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Dim 27/Juil/2008 18:37 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 24/Jan/2004 14:54
Messages: 3731
Punaise, mais comment vous faites pour arriver à piger quelque chose dans tout ce charabia. 8O

Décidément, je comprendrai jamais rien à l'assembleur. :(
Code:
dudx.l = 0
dvdx.l = 0
  !PUSH  ebp
  !ROL   eax, 16
  !ROL   edx, 16
  !MOV   bl, al   
  !MOV   bh, dl   
  !MOV   esi, [v_dudx]
  !MOV   ebp, [v_dvdx]
  !SHL   esi, 16
  !MOV   dl,  byte [v_dudx+2]   
  !SHL   ebp, 16
  !MOV   dh,  byte [v_dvdx+2]   
  !LEA   edi, [edi+ecx]   
  !XOR   ecx, -1
  !INC   ecx
!SUIV:
  !MOV   al, [ebx]
  !ADD   edx, ebp
  !ADC   bh, dh   
  !ADD   eax, esi
  !ADC   bl, dl   
  !MOV   [edi+ecx], al
  !INC   ecx
  !JNZ   SUIV
  !POP   ebp


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Dim 27/Juil/2008 19:52 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 8705
+1 énorme respect !


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Dim 27/Juil/2008 22:20 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 4217
Localisation: Arras, France
Chris a écrit:
Punaise, mais comment vous faites pour arriver à piger quelque chose dans tout ce charabia. 8O

Décidément, je comprendrai jamais rien à l'assembleur. :(
C'est un a prori, l'assembleur est le plus simple des langages. Chaque ligne représente une action représentée par une instruction et des "opérandes", en général source et destination. Le problème est que les constructeurs nous rajoutent des instructions tout le temps, à tel point qu'il est maintenant devenu presque impossible de les connaître toutes.

Cpl.Bator> Il suffit en général de sauvegarder les registres sur la pile avec des "push", et les restaurer ensuite avec "pop". Mais sans connaître le contexte, je ne peux pas beaucoup t'aider. Mais pourquoi attaquer directement l'assembleur? Je pense que tu devrais plutôt faire un code simple, et l'optimiser par la suite.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Dim 27/Juil/2008 23:57 
le code de rastérization que j'ai chopé contenait un bout d'asm ( code d'origine en c / watcom ). pour le moment , mon code purebasic ne contient 0 lignes d'asm , et j'arrive à afficher en 1680x1050x32 un rendu 100% software avec + de 100fps ! :D avec une astuce toute bête ^^ , je ne cherche pas l'optimisation pour le moment , mais une organisation générale dans mon code purebasic , c'est là que je regrette la poo. :D


Haut
  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 28/Juil/2008 9:33 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 4217
Localisation: Arras, France
Cpl.Bator a écrit:
le code de rastérization que j'ai chopé contenait un bout d'asm ( code d'origine en c / watcom ). pour le moment , mon code purebasic ne contient 0 lignes d'asm , et j'arrive à afficher en 1680x1050x32 un rendu 100% software avec + de 100fps ! :D avec une astuce toute bête ^^ , je ne cherche pas l'optimisation pour le moment , mais une organisation générale dans mon code purebasic , c'est là que je regrette la poo. :D


Pas mal! :P

Oui la POO a des avantages, c'est certain! Rationaliser est le travail le plus délicat du programmeur : éviter les doublons dans son code, penser général plutôt que particulier, avoir une vue d'ensemble, créer des procédures "atomiques", sortes de briques qui pourront resservir sans aucune modification. Il faut être clair, précis, pour soi-même et pour les autres. Ce n'est pas évident, car d'un jour à l'autre le travail que l'on est capable de fournir est très différent, surtout pour des amateurs!

La POO oblige le (bon) programmeur à fabriquer des modules compacts dédiés, coupés du monde extérieur. Elle cache la réalité des choses afin d'effectuer des travaux à la complexité croissante (il suffit par exemple d'imaginer tout ce qui est caché à la personne qui tourne la clé de contact de sa voiture). Mais dans l'idéal, il faut que toute l'équipe qui a conçu chacun des objets soit toujours là à affiner leur design. La nature avait fait cela avant nous, et sur des milliards d'années le résultat est impressionnant.

Ainsi, la vie repose sur quelques briques essentielles, les acides aminés. Ce sont des sortes de "super-objets", qui a priori n'ont pas de vie propre. Pourtant, leurs propriétés physiques sont à ce point optimisées qu'il est possible avec un nombre restreint d'obtenir des millions de combinaisons, qui se combinent encore entre elles, etc. C'est pour cela qu'avec finalement peu d'instructions, l'ADN et l'ARN arrivent à coder des êtres particulièrement complexes, et même certains de leurs comportements!

Bon, je m'égare un peu! Tout ça pour dire que ces notions sont très importantes, oui. Par contre, la syntaxe utilisée par tel ou tel langage n'est qu'un outil pour réaliser cet objectif. J'ai programmé un petit moment en Java, avec beaucoup de plaisir! Mais l'ennui est que je perdais énormément en vitesse à cause des couches d'abstraction auxquelles je n'avais pas accès. On a le même problème avec DirectX et l'archi .Net. Chaque nouvelle couche encapsule les routines des couches inférieures, rajoutant des milliers de lignes de code inutiles, de vérification, de validation. Les erreurs (inévitables) commises lors de la conception mettent des années à se corriger, ou pas (je pense par exemple au garbage collector du java, ou à la compil jit qui fait ramer ton appli la première fois!). Et l'on peut commettre des erreurs dans chacune de ces couches, car il y a toujours des sections critiques (voir les threads!).

Ce qui m'énerve le plus, ce sont ces cours donnés à la fac où ces notions sont abordées dans un sens quasi religieux. Les étudiants se mettent à délirer sur les objets et les classes et perdent tout sens de la réalité! Enfin bon, s'ils font de la gestion, ce n'est pas trop grave... Mais qu'ils ne prétendent pas faire du temps réel comme ça! Déjà que je trouve qu'on devrait avoir honte de faire des jeux sous Windows!


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 28/Juil/2008 12:10 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 05/Mar/2005 16:09
Messages: 681
On arrive a une ère ou la puissance de calcule dépasse l'entendement alors on se prive pas a faire des usines a gaz codé avec des pieds (qui a osé dire far cry ?).

Sinon l'avenir c'est les macro :lol:

_________________
Doujin-Spirit
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 28/Juil/2008 13:03 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
cha0s a écrit:
Sinon l'avenir c'est les macro :lol:


non !

la femme !! parce que la femme est l'avenir de l'homme :lol: :lol:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 28/Juil/2008 19:38 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 8705
les femmes et les macros, toute une histoire :)
===> Je suis plus là :P


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Help me please
MessagePosté: Jeu 20/Jan/2011 8:07 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 08/Jan/2010 1:14
Messages: 808
Localisation: Québec, Canada
V'là d'la job pour notre cher ami Dobro! :mrgreen:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Help me please
MessagePosté: Jeu 20/Jan/2011 10:01 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
encore une phrase apres un robot pour ne rien dire
et je vous laisse vous démerder avec les robots et le forum !

et en plus je fais un grand nettoyage de mes messages

faudrai voir a arrêter de vous foutre de ma gueule

[ re edit ]

tout ce que vous allez gagner, c'est d'avoir un forum remplis de messages de robots
dissémine au beau milieu d'autres messages...
ça va etre bien.... :roll:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Help me please
MessagePosté: Jeu 20/Jan/2011 22:27 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 08/Jan/2010 1:14
Messages: 808
Localisation: Québec, Canada
Mais je ne me foutais pas de ta gueule, c'était qu'une simple farce plate... :(


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Help me please
MessagePosté: Ven 21/Jan/2011 0:40 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
Warkering a écrit:
Mais je ne me foutais pas de ta gueule, c'était qu'une simple farce plate... :(


ben oui j'ai que ça a faire moi de nettoyer vos messages en plus de ceux des robots ...
qu'elle bonne bagues...:roll:


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 16 messages ]  Aller à la page 1, 2  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye