Resultados da pesquisa a pedido "x86"

1 a resposta

Ponteiros de montagem x86

Espero que isso não seja uma pergunta idiota, mas estou tentando entender minha opinião sobre indicadores na montagem. Qual é exatamente a diferença entre: mov eax, ebxe mov [eax], ebxe quando deveriadword ptr [eax] deve ser usado? Além ...

3 a resposta

Como mover 3 bytes (24 bits) da memória para um registro?

Posso mover itens de dados armazenados na memória para um registro de uso geral de minha escolha, usando oMOV instrução. MOV r8, [m8] MOV r16, [m16] MOV r32, [m32] MOV r64, [m64]Agora, não atire em mim, mas como é alcançado o seguinte:MOV r24, ...

5 a resposta

Qual é o objetivo das instruções de rotação (ROL, RCL no x86)?

Eu sempre me perguntei qual é o objetivo das instruções de rotação de algumas CPUs (ROL, RCL no x86, por exemplo). Que tipo de software utiliza essas instruções? Primeiro pensei que eles poderiam ser usados para códigos de hash de criptografia / ...

2 a resposta

montagem em linha c obtendo "incompatibilidade de tamanho do operando" ao usar cmpxchg

Estou tentando usar cmpxchg com assembly embutido através de c. Este é o meu código: static inline int cas(volatile void* addr, int expected, int newval) { int ret; asm volatile("movl %2 , %%eax\n\t" "lock; cmpxchg %0, %3\n\t" "pushfl\n\t" ...

2 a resposta

Usando registros ymm como um local de armazenamento "semelhante à memória"

Considere o seguinte loop em x86: ; on entry, rdi has the number of iterations .top: ; some magic happens here to calculate a result in rax mov [array + rdi * 8], rax ; store result in output array dec rdi jnz .topÉ simples: algo calcula um ...

4 a resposta

Multiplique números sem usar as instruções MUL, IMUL, SHL, SHR, LOOP

É possível calcular o resultado da multiplicação sem usar as instruções MUL, IMUL, SHL, SHR, LOOP, JMP na linguagem de montagem x86?

2 a resposta

Não é possível entender o exemplo da convenção de chamada do cdecl em que o chamador não precisa limpar a pilha

Eu estou lendo oIDA Pro Book [https://nostarch.com/idapro2.htm]. Na página 86, enquanto discute as convenções de chamada, o autor mostra um exemplo de convenção de chamada cdecl que elimina a necessidade do chamador de limpar argumentos da pilha. ...

1 a resposta

O que é uma parada parcial de bandeira?

Eu estava passando por cimaesta resposta por Peter Cordes [https://stackoverflow.com/a/36510865/124486]e ele diz Paradas de sinalização parcial acontecem quando as bandeiras são lidas, se é que acontecem. O P4 nunca possui barracas de ...

7 a resposta

Como gerar e executar código nativo dinamicamente?

Gostaria de escrever um compilador JIT de prova de conceito muito pequeno para um processador de linguagem de brinquedos que escrevi (puramente acadêmico), mas estou tendo alguns problemas nas altitudes médias do design. Conceitualmente, estou ...

1 a resposta

Não é possível mover variáveis em .data para registros com o Mac x86 Assembly

Escrevi uma pequena peça de montagem com a sintaxe da AT&T e atualmente declarei três variáveis no.data seção. No entanto, quando tento mover qualquer uma dessas variáveis para um registro, como%eax, um erro degcc é criado. O código e a mensagem ...