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

Visual C++ Discussion :

Compiler du code Assembleur avec Visual C++


Sujet :

Visual C++

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 1
    Par défaut Compiler du code Assembleur avec Visual C++
    Bonsoir,
    J'ai le code suivant que j'ai trouvé sur un site et que je veux compiler avec visual c++. voilà comment j'ai procédé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    __asm  {
     
    section .text local
    global _FullComplexAuto
    align 16
    _FullComplexAuto type func
    ; r0: in -- r6
    ; r1: sc -- r5
    ; (sp-28): idx -- r3
    [ push r6
    push r7
    ]
    [ push d6
    push d7
    ]
    [bmclr #$4,sr.l ; saturation off
    tfra r0,r6 ; r6 -> in
    ]
    [ move.l (sp-28),r3 ; r3 -> idx
    move.l #4,n0
    ]
    adda #4,r6,r7
    [ dosetup1 inner1
    doen1 #160 ; AUTO_LEN/2
    ]
    loopstart1
    inner1
    [ clr d12
    clr d13
    clr d14
    clr d15
    tfra r1,r5 ; r5 -> sc
    move.2f (r6)+n0,d4:d5 ; load in_r(1),in_i(1)
    ]
    [ move.2f (r5)+,d0:d1 ; load sc_r(1),sc_ri(1)
    move.2f (r7)+n0,d6:d7 ; load in_r(4),in_i(4)
    ] ; software pipelining
    [ dosetup2 inner2
    doen2 #10
    ]
    loopstart2
    inner2
    [ clr d8
    clr d9
    clr d10
    clr d11
    ]
    [ dosetup3 inner3
    doen3 #128
    ]
    loopstart3
    inner3
    [ mac d4,d0,d8 ; A_r(1) += in_r(1) * sc_r(1)
    mac d5,d0,d9 ; A_i(1) += in_i(1) * sc_r(1)
    mac d6,d0,d10 ; A_r(4) += in_r(4) * sc_r(1)
    mac d7,d0,d11 ; A_i(4) += in_i(4) * sc_r(1)
    move.2f (r6)+n0,d2:d3 ; load in_r(4),in_i(4)
    ]
    [ mac d5,d1,d8 ; A_r(1) += in_i(1) * sc_i(1)
    mac -d4,d1,d9 ; A_i(1) += -in_r(1) * sc_i(1)
    mac d7,d1,d10 ; A_r(4) += in_i(4) * sc_i(1)
    mac -d6,d1,d11 ; A_i(4) += -in_r(4) * sc_i(1)
    move.2f (r5)+,d0:d1 ; load sc_r(2),sc_ri(2)
    move.2f (r7)+n0,d6:d7 ; load in_r(8),in_i(8)
    ]
    [ mac d2,d0,d8 ; A_r(1) += in_r(4) * sc_r(2)
    mac d3,d0,d9 ; A_i(1) += in_i(4) * sc_r(2)
    mac d6,d0,d10 ; A_r(4) += in_r(8) * sc_r(2)
    mac d7,d0,d11 ; A_i(4) += in_i(8) * sc_r(2)
    move.2f (r6)+n0,d4:d5 ; load in_r(8),in_i(8)
    ]
    [ mac d3,d1,d8 ; A_r(1) += in_i(4) * sc_i(2)
    mac -d2,d1,d9 ; A_i(1) += -in_r(4) * sc_i(2)
    mac d7,d1,d10 ; A_r(4) += in_i(8) * sc_i(2)
    mac -d6,d1,d11 ; A_i(4) += -in_r(8) * sc_i(2)
    move.2f (r5)+,d0:d1 ; load sc_r(3),sc_ri(3)
    move.2f (r7)+n0,d6:d7 ; load in_r(12),in_i(12)
    ]
    loopend3
    [ asrr #14,d8 ; scaling
    asrr #14,d9
    asrr #14,d10
    asrr #14,d11
    ]
    [ add d8,d12,d12 ; A_r(1)
    add d9,d13,d13 ; A_i(1)
    add d10,d14,d14 ; A_r(4)
    add d11,d15,d15 ; A_i(4)
    ]
    loopend2
    [ abs d12
    abs d13
    abs d14
    abs d15
    adda #8,r0,r0
    ]
    [ add d12,d13,d12 ; |A_r(1)| + |A_i(1)|
    add d14,d15,d13 ; |A_r(4)| + |A_i(4)|tfra r0,r6 ; r6 -> in tfra r1,r5 ; r5 -> sc][move.2l d12:d13,(r3)+adda #4,r6,r7
    ]
    loopend1 bmset #$4,sr.l ; saturation mode on
    nop
    nop
    [ pop d6
    pop d7
    ]
    [ pop r6
    pop r7
    ]
    rts
    endsec
    };
    Toutefois j'ai les erreurs suivantes:
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(2) : error C2143: syntax error : missing ';' before '__asm'
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(2) : error C2143: syntax error : missing ';' before '{'
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(2) : error C2447: missing function header (old-style formal list?)
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(17) : error C2014: preprocessor command must start as first nonwhite space
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(21) : error C2014: preprocessor command must start as first nonwhite space
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(23) : error C2014: preprocessor command must start as first nonwhite space
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(25) : error C2014: preprocessor command must start as first nonwhite space
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(40) : error C2014: preprocessor command must start as first nonwhite space
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(50) : error C2014: preprocessor command must start as first nonwhite space
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(81) : error C2014: preprocessor command must start as first nonwhite space
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(82) : error C2014: preprocessor command must start as first nonwhite space
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(83) : error C2014: preprocessor command must start as first nonwhite space
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(84) : error C2014: preprocessor command must start as first nonwhite space
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(96) : error C2014: preprocessor command must start as first nonwhite space
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(99) : error C2014: preprocessor command must start as first nonwhite space
    C:\Documents and Settings\user\Mes documents\Cpp1.cpp(101) : error C2014: preprocessor command must start as first nonwhite space
    Error executing cl.exe.

    Cpp1.obj - 16 error(s), 0 warning(s)
    Aidez_moi!!!!!

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 394
    Par défaut
    Euh... C'est du code pour processeur 68000, ça, pas pour x86...

    Mais ce n'est pas la source principale du problème. On dirait que le compilo ne reconnait pas __asm. Peut-être te manque-t-il une option en ligne de commande...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Compilation du module QtSql avec Visual C++
    Par Andyl dans le forum Bases de données
    Réponses: 38
    Dernier message: 18/06/2009, 21h39
  2. compiler un code vc6 avec vc2008
    Par darkmen11 dans le forum Visual C++
    Réponses: 1
    Dernier message: 12/05/2009, 09h30
  3. Réponses: 46
    Dernier message: 29/07/2008, 14h24
  4. Réponses: 4
    Dernier message: 10/11/2007, 14h59
  5. inclure du code assembleur avec turbo c++
    Par united4life dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 17/02/2007, 13h17

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