Para mim, parece um MOV descolado. Qual é o seu propósito e quando devo
x86-64 é uma extensão de 64 bits para a arquitetura Intel x86
Para mim, parece um MOV descolado. Qual é o seu propósito e quando devo
Percebi pela primeira vez em 2009 que o GCC (pelo menos em meus projetos e em minhas máquinas) tem a tendência de gerar código visivelmente mais rápido se otimizar para tamanho ( -Os) em vez de velocidade ( -O2ou -O3), e fico pensando desde então. Eu consegui criar código (bastante bobo) que...
Eu tenho uma lista arbitrária de assemblies .NET. Preciso verificar programaticamente se cada DLL foi criada para x86 (em oposição a x64 ou qualquer CPU). Isso é
Estive lendo sobre dive mulmontagem de operações, e eu decidi vê-los em ação, escrevendo um programa simples em C: Arquivo division.c #include <stdlib.h> #include <stdio.h> int main() { size_t i = 9; size_t j = i / 5; printf("%zu\n",j); return 0; } E, em seguida, gerando o código...
Fundo: Ao otimizar algum código Pascal com linguagem assembly incorporada, notei uma MOVinstrução desnecessária e a removi. Para minha surpresa, remover as instruções desnecessárias fez com que meu programa desacelerasse . Descobri que adicionar MOVinstruções arbitrárias e inúteis aumentava...
Os 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-calls http://www.freebsd.org/doc/en/books/developers-handbook/x86-system-calls.html Mas quais são as convenções de chamada do sistema x86-64 no UNIX e...
Acredito que encontrei um bug no GCC ao implementar o PCG PRNG de O'Neill. ( Código inicial no Godbolt's Compiler Explorer ) Após multiplicar oldstatepor MULTIPLIER(resultado armazenado em rdi), o GCC não adiciona esse resultado a INCREMENT, movabs'ing INCREMENTpara rdx, que é usado como o valor...
Desejo determinar se um assembly nativo é cumprido como x64 ou x86 em um aplicativo de código gerenciado ( C # ). Acho que deve estar em algum lugar no cabeçalho do PE, já que o carregador do SO precisa conhecer essas informações, mas não consegui encontrá-las. É claro que prefiro fazê-lo em...
Rust possui números inteiros de 128 bits, que são indicados com o tipo de dados i128(e u128para entradas não assinadas): let a: i128 = 170141183460469231731687303715884105727; Como o Rust faz com que esses i128valores funcionem em um sistema de 64 bits; por exemplo, como é que faz aritmética...
No Tour do x86-64 dos manuais da Intel , li Talvez o fato mais surpreendente seja que uma instrução como essa MOV EAX, EBXzera automaticamente os 32 bits superiores do RAXregistro. A documentação da Intel (3.4.1.1 Registros de uso geral no modo de 64 bits no manual Arquitetura básica) citada...
Eu tenho um pequeno dilema sobre como configurar minhas compilações de estúdio visual para multi-segmentação. Histórico: c # .NET v2.0 com p / invocar em DLLs de 32 bits de terceiros, SQL compact v3.5 SP1, com um projeto de instalação. No momento, o destino da plataforma está definido como x86...
A AMD tem uma especificação ABI que descreve a convenção de chamada para usar em x86-64. Todos os sistemas operacionais o seguem, exceto o Windows, que tem sua própria convenção de chamada x86-64. Por quê? Alguém conhece as razões técnicas, históricas ou políticas para essa diferença, ou é...
Como está atualmente, esta pergunta não se encaixa em nosso formato de perguntas e respostas. Esperamos que as respostas sejam apoiadas por fatos, referências ou experiência, mas esta pergunta provavelmente irá solicitar debate, argumentos, pesquisas ou discussão extensa. Se você...
Estou tentando instalar um serviço do Windows usando InstallUtil.exe e estou recebendo a mensagem de erro System.BadImageFormatException: Não foi possível carregar o arquivo ou assembly ' {xxx.exe}' ou uma de suas dependências. Foi feita uma tentativa de carregar um programa com um formato...
Estou fazendo um trabalho crítico de desempenho em C ++ e atualmente estamos usando cálculos inteiros para problemas que são inerentemente de ponto flutuante porque "é mais rápido". Isso causa muitos problemas irritantes e adiciona muitos códigos irritantes. Agora, eu me lembro de ter lido sobre...
Em um livro, li o seguinte: Os processadores de 32 bits têm 2 ^ 32 endereços possíveis, enquanto os processadores atuais de 64 bits têm um espaço de endereço de 48 bits Minha expectativa era que, se for um processador de 64 bits, o espaço de endereço também deveria ser 2 ^ 64. Então, eu...
O que isso rep; nopsignifica? É o mesmo que pauseinstrução? É o mesmo que rep nop(sem o ponto e vírgula)? Qual é a diferença para a nopinstrução simples ? Ele se comporta de maneira diferente nos processadores AMD e Intel? (bônus) Onde está a documentação oficial para essas...
Eu estava estudando reentrada em programação. Neste site da IBM (muito bom). Eu fundei um código, copiado abaixo. É o primeiro código que chega ao site. O código tenta mostrar os problemas que envolvem o acesso compartilhado à variável em um desenvolvimento não linear de um programa de texto...
Estou no Whiskey Lake i7-8565U e estou analisando os contadores de perf e o tempo para copiar 512 KiB de dados (duas vezes mais que o tamanho do cache L2) e enfrentei alguns mal-entendidos sobre o trabalho do pré-buscador L2 HW. No manual Intel Vol.4 MSR, há MSR que 0x1A4o bit 0 é para controlar o...