Resultados da pesquisa a pedido "assembly"

3 a resposta

Criando uma função C sem prólogo / epílogo e instrução RET gerados pelo compilador?

Considere esta função: void foo(){ //do something }Na montagem, seria algo assim (não preciso): push something ;do stuff pop something retMas não quero esse código gerado (RET, EMPURRAR, POP ...) Eu só quero um rótulo para um bloco de código, ...

1 a resposta

O que significa cifrão duplo na montagem x86 (NASM)

A expressão é: times 512-($-$$) db 0Eu sei o que o cifrão significa, mas não sei o que significa quando é o dobro. O que significa o duplo cifrão?

5 a resposta

Como verificar se o código compilado usa instruções sse e avx?

Eu escrevi um código para fazer um monte de matemática e ele precisa ser rápido, por isso preciso usar as instruções SSE e AVX. Estou compilando com g ++ e estou usando as bandeiras-O3 e-march=native, acho que está usando instruções SSE e AVX, ...

1 a resposta

Quão mais rápidas são as instruções de sequência do SSE4.2 que o SSE2 para o memcmp?

Aqui está o assembler do meu código Você pode incorporá-lo em c ++ e verificar o SSE4? A velocidade Eu gostaria muito de ver como entrou no desenvolvimento do SSE4. Ou não está preocupado com ele? Vamos verificar (não tenho suporte acima do ...

8 a resposta

Como encontro como o compilador C ++ implementa algo, exceto a inspeção do código de máquina emitido?

Suponha que eu criei um conjunto de classes para abstrair algo e agora me preocupo se meu compilador C ++ será capazpara retirar esses invólucros e emitir códigos realmente limpos, concisos e rápidos [https://stackoverflow.com/q/4332164/57428]. ...

1 a resposta

Convertendo código C em assembly x86-64

Estou tentando converter meu código C para x86-64. Meu objetivo é reverter uma lista vinculada. Os dois parâmetros passados são o cabeçalho ptr e o deslocamento para obter o endereço do campo do ponteiro (ou seja, o ponteiro para o próximo nó na ...

1 a resposta

x64: Por que esse código me fornece "Erro de limite de endereço"

Por que o seguinte assembly x64 me fornece "Erro de limite de endereço"? Isso só acontece quando adiciono código depoiscall _print_string. Suponho que parte do registro tenha sido modificada, mas eles não devem ser revertidos ...

1 a resposta

Conversão de string para int e MIPS de manipulação de string

Para minha lição de casa, preciso usar o MIPS para obter uma entrada com uma letra arbitrária na frente, seguida de números (por exemplo, x123) e adicionar 5 ao número e imprimir o número final (no exemplo, a saída seria 128)

6 a resposta

Enhanced REP MOVSB for memcpy

Gostaria de usar o REP MOVSB aprimorado (ERMSB) para obter uma largura de banda alta para uma personalizaçãomemcpy. O ERMSB foi introduzido com a microarquitetura Ivy Bridge. Consulte a seção "Operação REP MOVSB e STOSB aprimorada (ERMSB)" ...

2 a resposta

Montagem - Como multiplicar / dividir uma constante por outra constante na montagem?

Então, eu tenho uma função assembly, chamada C. Ele compila e não me dá avisos, mas quando tento executá-la, isso gera uma falha de segmentação. Eu acho que é porque não consigo mover uma constante para um registro, mas para usar o comando mul / ...