Domande taggate «assembly»

Domande sulla programmazione del linguaggio assembly (asm). ASSICURARSI ANCHE DI TAG con il processore e / o il set di istruzioni in uso, nonché l'assemblatore. ATTENZIONE: per gli assembly .NET, utilizzare invece il tag [.net-assembly]. Per Java ASM, utilizzare invece il tag [java-bytecode-asm].




4
Perché l'introduzione di inutili istruzioni MOV accelererebbe un ciclo stretto nell'assemblaggio x86_64?
Sfondo: Durante l'ottimizzazione del codice Pascal con linguaggio assembly incorporato, ho notato un'istruzione non necessaria MOVe l'ho rimosso. Con mia sorpresa, la rimozione delle istruzioni non necessarie ha fatto rallentare il mio programma . Ho scoperto che l' aggiunta di MOVistruzioni arbitrarie e inutili ha aumentato ulteriormente le prestazioni . …


24
Proteggere il file eseguibile dal reverse engineering?
Ho riflettuto su come proteggere il mio codice C / C ++ dallo smontaggio e dal reverse engineering. Normalmente non perdonerei mai questo comportamento nel mio codice; tuttavia l'attuale protocollo su cui sto lavorando non deve mai essere ispezionato o comprensibile, per la sicurezza di varie persone. Ora questo è …
210 c++  c  obfuscation  assembly 



7
Mostra le istruzioni di assemblaggio correnti in GDB
Sto eseguendo il debug a livello di assembly in GDB. C'è un modo per convincere GDB a mostrarmi le istruzioni di assemblaggio correnti nello stesso modo in cui mostra la linea di origine corrente? L'output predefinito dopo ogni comando è simile al seguente: 0x0001433f 990 Foo::bar(p); Questo mi dà l'indirizzo …
179 assembly  gdb 

13
Num ++ può essere atomico per "int num"?
In generale, per int num, num++(o ++num), come operazione di lettura-modifica-scrittura, non è atomico . Ma vedo spesso compilatori, ad esempio GCC , generare il seguente codice per esso ( prova qui ): Dato che la riga 5, che corrisponde a num++un'istruzione, possiamo concludere che in questo caso num++ è …






Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.