IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Mélanger 2 streams en assembleur


Sujet :

Assembleur

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 26
    Points
    26
    Par défaut Mélanger 2 streams en assembleur
    Bonjour a tous,

    Je demande au specialiste de l'assembleur INTEL si ils connaissent une methode permettant de combiner 2 streams (OR bit par bit ou juste alternance des bits dans le stream de sortie).

    Le but est d'avoir un stream sortant qui contient une alternance des bits des 2 streams entrant, ou une combinaison de ceux ci (OR).

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 160
    Points
    160
    Par défaut
    - Ton fluide c'est queuoi d'où vers où ? (fichiers quelconques, signal... je penche vers le deux mais bon...)

    ton opération est bien soit

    - un OR et pas un ADD / SAR 1 ?

    - ou un entrelacelement ?

    Selon ton (tes) objectif(s) et le contexte, les réponses peuvent varier entre outcha et outchou ..

    Si tu veux faire le truc à la main et au CPU ou si c'est du flux temp critique géré via DSP/DVP

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 26
    Points
    26
    Par défaut Mélanger 2 streams en assembleur
    le but est de faire un entrelacement, c'est a dire de prendre un bit du stream1, puis un vit du stream2, puis 1 bit du stream1.... etc...
    Dans un deuxieme temps, faire un ou entre les 2 meme bit, et envoyer le resultat sur le stream de sortie.

    Pour info, ces "fluides" sont des data qui viennent de machines, et c a peu pres tout ce aue je sais

    Merci

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 160
    Points
    160
    Par défaut
    ok, et tu récupères ces fluides comment ? quelle interface ?
    sont-ils récupérés et mis dans un format spécial en RAM, HD... ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 26
    Points
    26
    Par défaut Mélanger 2 streams en assembleur
    Ce sont des streams, ils sont donc en memoire je pense. Je vais essayer d'en savoir plus.

  6. #6
    Inactif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 160
    Points
    160
    Par défaut
    En attendant :

    Tu peux toujours utiliser un compteur de Bytes, Words, DWords, QWords...
    Je ne connais pas la taille des éléments que tu "mélanges", et utiliser une comparaison de parité pour brancher (s'il faut différencier et brancher de gros traitements A / B et, surtout, si tu bosses par salves):

    xor ecx ecx | add ecx LongeurStreamA/B-1 ; ecx contient la longueur(-1) de tes streams et MAJ flag parité

    L0: jp S0> ; Si flag de parité sauter à S0

    ... code de traitement stream A

    dec ecx | jns L0< ; Tant que compteur pas à zéro

    jump S1>

    S0:

    ... code de traitement stream B

    dec ecx | jns L0< ; Tant que compteur pas à zéro

    S1: fin du boulot

    Ou encore plus bourrin si tu n'as aucune différenciation entre A et B

    mov ecx LongeurStreamA/B-1

    L0: mov eax StreamA+ecx*tailleData | or eax StreamB+ecx*tailleData

    dec ecx | jnz L0<

    ton code de traitement étant un bête Or AB ou add A B ou lea eax D$eax+ebx

    Maintenant tout ça est très générique et lent... La précision sur le contexte permettra de choisir la stratégie la plus approprié. Si c'est du signal -> le hard c'est faire ça plus vite de tout ce que tu pourrais imaginer, sinon il y à moyen de // tes cycles s'il n'y a pas d'interruption du traitement... etc. etc. etc.

Discussions similaires

  1. Tutoriels, F.A.Q : la rubrique Assembleur de Developpez.com
    Par Alcatîz dans le forum Assembleur
    Réponses: 3
    Dernier message: 07/06/2007, 19h14
  2. DirectSound et le streaming
    Par Shakram dans le forum DirectX
    Réponses: 57
    Dernier message: 09/06/2005, 11h05
  3. ecrire son OS (assembleur ??)
    Par Anonymous dans le forum Programmation d'OS
    Réponses: 9
    Dernier message: 25/11/2002, 19h25
  4. Random en Assembleur
    Par funx dans le forum Assembleur
    Réponses: 9
    Dernier message: 02/09/2002, 17h05
  5. Quel désassembleur/assembleur pour un exe Windows ?
    Par Anonymous dans le forum x86 32-bits / 64-bits
    Réponses: 6
    Dernier message: 17/04/2002, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo