Resultados da pesquisa a pedido "x86"

1 a resposta

executing assembly dentro de uma função em c ++

long getesp() { __asm__("movl %esp,%eax"); } void main() { printf("%08X\n",getesp()+4); }por que esp aponta valor antes da configuração do quadro de pilha e faz alguma diferença entre o código abaixo? void main() { __asm__("movl %esp,%eax"); }

5 a resposta

Se a instrução parecer estar avaliando mesmo quando a condição for avaliada como false

Late At Work ontem à noite, estávamos tentando descobrir por que algo estava falhando. Uma verificação de validação falhou quando não deveri cabamos adicionando uma declaração de impressão a este código (desmontado do Reflector para verificar se ...

4 a resposta

Possível interceptar a gravação no endereço (x86 - linux)

Eu quero detectar quando ocorre um endereço de gravação na memória - por exemplo, definindo um retorno de chamada anexado a uma interrupção. Alguém sabe como? Eu gostaria de poder fazer isso em tempo de execução (possivelmente o gdb possui esse ...

4 a resposta

Uma instrução shift é mais rápida que uma instrução IMUL?

Qual é mais rápido - val = val*10;o val = (val<<3) + (val<<2); Quantos ciclos de relógio fazimul toma quando comparado à instrução shift?

1 a resposta

Como posso detectar o número de núcleos na montagem x86?

Estou escrevendo um sistema operacional muito simples como uma ferramenta de aprendizado para mim. Minha tarefa atual é detectar o máximo possível sobre o hardwar Até agora, consegui encontrar muitas informações sobre a CPU usando a ...

5 a resposta

LEA ou ADD instruções?

Quando estou montando manuscrito, geralmente escolho o formulário lea eax, [eax+4] Sobre o formulário .. add eax, 4 Ouvi dizer que lea é uma instrução "0-clock" (como NOP), enquanto 'add' não é. No entanto, quando olho para o Assembly produzido ...

5 a resposta

Montagem em linha que derruba a zona vermelha

Estou escrevendo um programa de criptografia, e o núcleo (uma ampla rotina de multiplicação) é escrito no assembly x86-64, tanto para velocidade quanto porque usa extensivamente instruções comoadc que não são facilmente acessíveis a partir de C. ...

4 a resposta

O que o cltq faz na montagem?

0x0000000000400553 <main+59>: mov -0x4(%rbp),%eax 0x0000000000400556 <main+62>: cltq 0x0000000000400558 <main+64>: shl $0x3,%rax 0x000000000040055c <main+68>: mov %rax,%rdx Na verdade, meu programa é tão simples quanto: 5 int main(int argc, char ...

3 a resposta

Como os registros fs / gs são usados no Linux AMD6

Na arquitetura x86-64, dois registradores têm um propósito especial: FS e GS. No linux 2.6. *, O registro FS parece ser usado para armazenar informações sobre threads locais. Isso está correto?O que é armazenado em fs: 0? Existe alguma ...

5 a resposta

Como mover imediatos de 128 bits para registros XMM

Já existeuma pergunt [https://stackoverflow.com/questions/4609677/implementation-of-aes-in-assembly] nisso, mas foi fechado como "ambíguo", então estou abrindo um novo - encontrei a resposta, talvez ajude os outros també A questão é: como ...