Resultados da pesquisa a pedido "assembly"
Como "mov (% ebx,% eax, 4),% eax" funciona? [duplicado
Esta pergunta já tem uma resposta aqui: Qual é o significado de MOV (% r11,% r12,1),% edx? [/questions/2883850/what-is-the-meaning-of-mov-r11-r12-1-edx] 2 respostas Antes de trabalhar em uma tarefa de montagem, e na maioria das vezes eu entendo ...
Por que precisamos do prefixo de bloqueio antes do CMPXCHG [duplicado]
Esta pergunta já tem uma resposta aqui: O x86 CMPXCHG é atômico, se sim, por que ele precisa de LOC [/questions/27837731/is-x86-cmpxchg-atomic-if-so-why-does-it-need-lock] 3 respostaspor que precisamos do prefixo de bloqueio antes do CMPXCHG ...
x86_64: IMUL é mais rápido que 2x SHL + 2x AD
Ao ver a montagem produzida pelo Visual Studio (2015U2) em/O2odo @ (release) Vi que esse trecho de código C 'otimizado à mão' é convertido novamente em uma multiplicação: int64_t calc(int64_t a) { return (a << 6) + (a << 16) - a; }Montagem imul ...
Por que printf substitui o registro ECX?
Eu seiprintf retorna o número de caracteres impressos em EAX. Por que éprintf mudança de registro ECX a 0? Meu trecho de código: push eax push intFormat call printf add esp,8 Estou executando meu código em uma distribuição Linux de 64 bit
Por que os loops são sempre compilados no estilo "do ... while" (salto de cauda
Ao tentar entender a montagem (com a otimização do compilador ativada), vejo este comportamento: Um loop muito básico como este outside_loop; while (condition) { statements; } É frequentemente compilado em (pseudocódigo) ; outside_loop jmp ...
nde está documentada a ABI do System V x86-6
A ABI do x86-64 System V (usada em tudo, exceto no Windows) costumava viver em http: //x86-64.org/documentation/abi.pd [http://x86-64.org/documentation/abi.pdf], mas esse site caiu da Internet. Existe uma nova casa autorizada para o documento?
Quais são as convenções de chamada para as chamadas do sistema UNIX e Linux no i386 e x86-64
s links a seguir explicam as convenções de chamada do sistema x86-32 para UNIX (sabor BSD) e Linux: http: //www.int80h.org/bsdasm/#system-call [http://www.int80h.org/bsdasm/#system-calls] http: ...
NASM Assembly converte entrada em número inteiro?
Ok, então eu sou bastante novo para montagem, de fato, eu sou muito novo para montagem. Escrevi um código que se destina simplesmente a receber dados numéricos do usuário, multiplicá-lo por 10 e ter o resultado expresso ao usuário pelo status de ...
llvm reports: inline não suportado asm: entrada com o tipo 'void *' correspondente à saída com o tipo 'int'
Tenho o código de montagem embutido abaixo: int get_year(int a, int *b, char * c) { int ret, t1, t2; asm ( "addl %3, %[a] \n\t" "movl %[a], %[t1] \n\t" "movl $58, %%edx \n\t" "movb %%dl, 0x04(%1) \n\t" : [t1] "=r" (t1), "=&D" (t2) : [a] "r" ...
Como representar um valor hexadecimal como FFFFFFBB na programação de montagem x8
Estou aprendendo sobre programação de montagem em linha x8 Eu queria escrevermov ecx, FFFFFFBB, no entanto, o compilador não o reconhece. Como números hexadecimais como esse devem ser escritos no código assembler embutid