Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [C++]Il comando asm

  1. #1

    [C++]Il comando asm

    A cosa serve il comando asm ??????
    Come compilatore uso quello nella firma
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  2. #2
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    Un esempio, è costituito dalla funzione GetCPUCycle che ritorna, sempre in un LONGLONG (valore a 64 bit) il numero di cicli di clock trascorsi dall’accensione del sistema. Questa funzione sfrutta l’istruzione macchina RDTSC della CPU; non tutte le CPU però, dispongono di tale istruzione e quindi la funzione, in qualche caso, potrebbe fallire. Per questa funzione, il codice deve essere inserito in assembler sfruttando la direttiva _asm di VC. La parte fondamentale della funzione è costituita dalle seguenti istruzioni

    __asm {
    rdtsc
    lea ebx,res
    mov [ebx],eax
    mov [ebx+4],edx
    }

    Come avrai capito puoi inserire l'istruzione, racchiusa tra le parentesi, per far svolgere dei comandi in assembler al vc6.
    E' usata spesso nei videogiochi, un esmpio è fifa, il gioco di calcio, dove i programmatori, per velocizzare ed avere un codice più efficiente del c, addotano tale procedure asm nell'applicazione delle varie telecamere sul campo di gioco ecc, ecc., in quanto il c non sfrutterebbe appieno determinate risorse ecc, ecc.


    link
    homepage
    http://%77%77%77%2e%74%77%6f%72%6b%2e%69%74/
    software
    http://%77%77%77%2e%74%77%6f%72%6b%2...programmi.html
    forum
    http://%77%77%77%2e%74%77%6f%72%6b%2...um/default.asp

  3. #3
    Quante chiacchiere!

    Basta dire che permette di inserire codice assembly inline in un listato C/C++. FINE!!!!!!!!!!

  4. #4
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    .......mi sono dimenticato:
    che ci può stare anche una sola riga

    int r0x = 0, miav = 3
    asm MOV EAX, miav;
    oppure più di una riga usando per l'appunto le parentesi
    asm {
    ADD EAX, 3
    SUB EAX, miav
    }

    .......fai anche molta attenzione in quanto puoi provocare anche seri danni......... blocchi prg., della macchina ecc, ecc.......

  5. #5
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    Per concludere.........
    puoi utilizzare vb per richiamare, o una dll scritta in asm, oppure una dll (non MFC) scritta in c dove oltre al codice c, puoi inserire codice asm come sopra........

    in questi link troverai gli esempi con relativi progetti.......

    link
    homepage
    http://%77%77%77%2e%74%77%6f%72%6b%2e%69%74/
    software
    http://%77%77%77%2e%74%77%6f%72%6b%2...programmi.html
    forum
    http://%77%77%77%2e%74%77%6f%72%6b%2...um/default.asp

  6. #6
    tnk steno
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.