Resultados da pesquisa a pedido "inline-assembly"
Como determinar os valores salvos na pilha?
Estou fazendo algumas experiências e gostaria de poder ver o que é salvo na pilha durante uma chamada do sistema (o estado salvo do processo de aterrissagem do usuário). De acordo ...
Comportamento inesperado do ASM in-line do GCC (sobrescrito variável substituída)
No meu computador, o executável compilado omite a execução de "mov% 2, %% ax" na parte superior do loop quando "adicione% 1, %% ax" não comentado. Alguém para verificar duas vezes ou comentar? #include <stdio.h> int main() { short unsigned ...
Como digo ao GCC asm que um registro de entrada está bloqueado?
Estou tentando fazer uma multiplicação de 64 = 32x32 via x86mul instrução, mas eu só preciso da dword alta do resultado (oedx registo). Então, naturalmente, tentei listaredx como um registro de saída eeax como um registro derrotado. Isso me ...
Como: Assembler embutido no C ++ (no Visual Studio 2010)
Estou escrevendo um projeto C ++ crítico em termos de desempenho, que processa números, em que 70% do tempo é usado pelo módulo principal de 200 linhas. Gostaria de otimizar o núcleo usando montagem embutida, mas sou completamente novo nisso. No ...
Informando clang que assembly embutido lê uma região específica da memória
O GCC (todas as versões que posso testar convenientemente) pode ser informado de que uma instrução de montagem em linha lê uma região específica da memória (expressa como um ponteirop e um tamanhon) com esse construto ...
Como mover o dobro em% rax para uma determinada posição qword em% ymm ou% zmm? (Kaby Lake ou posterior)
A ideia é que eu gostaria de coletar valores retornados dedouble em um registro vetorial para processamento para máquinaimm width de uma vezsemarmazenando de volta na memória primeiro. O processamento específico é umvfma com outros dois ...
Montagem do BRAÇO: não é possível encontrar um registro na classe 'GENERAL_REGS' enquanto recarrega 'asm'
Estou tentando implementar uma função que multiplica operando de 32 bits por operando de 256 bits no assembly ARM no ARM Cortex-a8. O problema é que estou ficando sem registros e não tenho idéia de como posso reduzir o número de registros usados ...
(montagem embutida em C) Mensagens do assembler: Erro: pseudo-op desconhecido:
Eu escrevi uma função C "wrapper" curta para umasm montagem em linha, como abaixo. O código de montagem consiste em um loop while, computando vários produtos de pontos vetoriais usando SSE2. Estou usando o GCC 4.8.4 no Ubuntu 14.04 em um x86. O ...
Código de montagem fsqrt e fmul instruções
Estou tentando calcular1.34 *sqrt(lght) nesta função usando assembly embutido, mas estou recebendo erros como: '_asm' não declarado (primeiro uso nesta função) cada identificador não declarado é relatado apenas uma vez para cada função que ...
Definindo bytes no assembly embutido do GCC no Dev-C ++ (. Ascii na sintaxe da AT&T no Windows)
O código abaixo está apenas mostrando uma caixa de mensagem na tela. Os endereços são codificados para facilitar: int main () { asm("xorl %eax, %eax \n" "xorl %ebx, %ebx \n" "xorl %ecx, %ecx \n" "xorl %edx, %edx \n" "pushl %ecx \n" //$0x0 "pushl ...