Articles of assembly

Perché il registro ARM PC punta all’istruzione dopo la successiva da eseguire?

Secondo l’IC ARM. Nello stato ARM, il valore del PC è l’indirizzo dell’istruzione corrente più 8 byte. In stato Thumb: Per le istruzioni B, BL, CBNZ e CBZ, il valore del PC è l’indirizzo dell’istruzione corrente più 4 byte. Per tutte le altre istruzioni che utilizzano etichette, il valore del PC è l’indirizzo dell’istruzione corrente […]

Come elenco tutti gli assembly caricati?

In .Net, vorrei enumerare tutti gli assembly caricati su tutti gli AppDomain. Facendolo per AppDomain del mio programma è abbastanza semplice AppDomain.CurrentDomain.GetAssemblies() . Devo accedere in qualche modo ad ogni AppDomain? O c’è già uno strumento che fa questo?

Per cosa vengono utilizzate le istruzioni IN & OUT in x86?

Li ho encoutered alle istruzioni IN & OUT durante la lettura del libro “Understanding Linux Kernel”. Ho consultato il manuale di riferimento. 5.1.9 Istruzioni I / O Queste istruzioni spostano i dati tra le porte I / O del processore e un registro o una memoria. IN Read from a port OUT Write to a […]

x86_64 registra rax / eax / ax / al sovrascrittura del contenuto del registro completo

Poiché è ampiamente pubblicizzato, i moderni processori x86_64 hanno registri a 64 bit che possono essere utilizzati in modalità compatibile con le versioni precedenti come registri a 32 bit, registri a 16 bit e anche registri a 8 bit, ad esempio: 0x1122334455667788 ================ rax (64 bits) ======== eax (32 bits) ==== ax (16 bits) == […]

Come calcolare l’indirizzo di destinazione Jump e l’indirizzo di destinazione Branch?

Sono nuovo nel linguaggio dell’Assemblea . Stavo leggendo sull’architettura MIPS e sono bloccato con Jump Target Address e Branch Target Address e come calcolare ciascuno di essi.

Assemblaggio x86 su un Mac

Qualcuno sa di buoni strumenti (sto cercando gli IDE) per scrivere assembly sul Mac. Xcode è un po ‘ingombrante per me. Inoltre, sui Mac Intel, posso usare xm asm generico? O c’è un set di istruzioni modificato? Qualsiasi informazione sul post Intel. Inoltre: so che su Windows, asm può essere eseguito in un ambiente emulato […]

Come posso vedere il codice assembly per un programma C ++?

Come posso vedere il codice assembly per un programma C ++? Quali sono gli strumenti popolari per fare questo?

Perché la rottura della “dipendenza di uscita” di LZCNT è importante?

Durante il benchmark ho misurato un throughput molto più basso di quello che avevo calcolato, che ho ristretto all’istruzione LZCNT (succede anche con TZCNT), come dimostrato nei seguenti benchmark: xor ecx, ecx _benchloop: lzcnt eax, edx add ecx, 1 jnz _benchloop E: xor ecx, ecx _benchloop: xor eax, eax ; this shouldn’t help, but it […]

In C, dato un elenco variabile di argomenti, come build una chiamata di funzione usando questi?

Supponiamo che ci sia un elenco di argomenti memorizzati in qualche modo, ad esempio in una matrice. Dato un puntatore a funzione , come posso effettuare una chiamata verso di esso passando l’elenco degli argomenti memorizzati? Non sto cercando di passare l’array come argomento ok. Hai capito, ok? Voglio passare ognuno dei suoi elementi come […]

Cosa significa “DS: ” in assembly?

0040103A CALL DWORD PTR DS:[40207A] USER32.MessageBoxA Cosa significa DS: significa?