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 397
    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 397
    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