Probabilmente un duplicato di this question
dico probabilmente perché avete chiesto le istruzioni assembler, ma che domanda gestisce il profiling di livello C di codice.
La mia domanda per voi sarebbe, tuttavia: perché vorreste profilare le istruzioni macchina effettive eseguite? Come primo problema, questo sarebbe diverso tra vari compilatori e le loro impostazioni di ottimizzazione. Come un problema più pratico, cosa potresti fare effettivamente con queste informazioni? Se stai cercando/ottimizzando i colli di bottiglia, il codice profiler è quello che stai cercando.
Qui potrei perdersi qualcosa di importante.
Sono d'accordo con la risposta di Doness che in genere le persone desiderano definire il tempo di esecuzione per ogni funzione. Tuttavia, se vuoi veramente ottenere il conteggio esatto di ogni istruzione eseguita, devi eseguire il codice su un simulatore di istruzioni, ad esempio http://www.simplescalar.com/ – TJD
Puoi approfondire ciò che stai cercando di realizzare? Su x86, le prestazioni di esecuzione delle istruzioni dipendono molto, molto più dal contesto che dalle effettive istruzioni: virtualmente tutte le istruzioni possono essere facoltativamente caricate o memorizzate, ad esempio. E le istruzioni puramente registrate per la registrazione dipenderanno in modo complesso sullo stato della pipeline delle moderne CPU. Questo non mi sembra un'informazione utile. –
Perché me lo chiedi? Solitamente * profiling * significa qualcosa di diverso ... Ad esempio, compila con 'gcc -pg -Wall -O' e usa' gprof' o forse 'oprofile' !! –