Resultados da pesquisa a pedido "assembly"
Por que não consigo mapear (MAP_FIXED) a página virtual mais alta em um processo Linux de 32 bits em um kernel de 64 bits?
Ao tentar testarÉ permitido acessar a memória que ultrapassa o limite zero em x86? [https://stackoverflow.com/questions/47702410/is-it-allowed-to-access-memory-that-spans-the-zero-boundary-in-x86#comment82366009_47702410] no espaço do usuário no ...
O zeramento de vxorps no AMD Jaguar / Bulldozer / Zen é mais rápido com registros xmm que ymm?
As CPUs AMD lidam com instruções AVX 256b decodificando em duas operações 128b. por exemplo.vaddps ymm0, ymm1,ymm1 no AMD Steamroller decodifica para 2 macro-ops, com metade da taxa de transferência devaddps xmm0, xmm1,xmm1. O zeramento de XOR é ...
Depurando o ASM com o Visual Studio - o conteúdo do registro não será exibido
Eu tenho trabalhado em um projeto de linguagem assembly para uma classe e, apesar de finalmente ter conseguido solucionar todos os problemas deste código (acredito), agora não consigo exibir o conteúdo do Register. Aqui está o meu código ...
Problema ao converter inteiro para código ASCII no assembly x86
Estou tentando usar o código abaixo para converter um número inteiro emax para códigos ASCII. Mas rodá-lo gera 515, em vez de 513, como eu esperava. Onde está o erro? stk segment dw 32 dup(0) stk ends dts Segment posnum db 6 dup(0) ;0<x<65536; ...
O executável compilado em assembly no Bash no Ubuntu no Windows não produz saída
Estou estudando um tutorial para montagem e estou tentando obter um programa hello world para execução. Estou usando o Bash no Ubuntu no Windows. Aqui está a montagem: section .text global _start ;must be declared for linker (ld) _start: ...
Como é possível que a operação BITWISE AND leve mais relógios da CPU do que a operação ARITHMETIC ADDITION em um programa C?
Eu queria testar se as operações bit a bit são realmente mais rápidas de executar do que as operações aritméticas. Eu pensei que eles eram. Escrevi um pequeno programa C para testar essa hipótese e, para minha surpresa, a adição leva menos em ...
Montagem em linha do GCC com operação de empilhamento
Estou precisando de um código de montagem embutido: eu tenhoum par(portanto, é equilibrado) da operação push / pop dentro da montagemEu também tenho uma variável na memória (então, não registro) como entradacomo isso: __asm__ __volatile__ ...
É possível usar as instruções de 64 e 32 bits no mesmo executável no Linux de 64 bits?
Uma CPU de 64 bits (amd64) suporta instruções Intel de 32 bits no modo de compatibilidade. Além disso, uma instalação Linux de 64 bits permite executar ELFs contendo instruções de 32 bits se o cabeçalho do ELF indicar que é um executável de 32 ...
Por que em 64 bits o endereço virtual tem 4 bits (48 bits) em comparação com o endereço físico (52 bits)?
No livro "Programação de baixo nível: C, montagem e execução de programas na arquitetura Intel® 64", li: Cada endereço virtual de 64 bits (por exemplo, o que estamos usando em nossos programas) consiste em vários campos. O endereço em si tem, de ...
Por que o gcc pode carregar especulativamente a partir de uma estrutura?
Exemplo mostrando a otimização do gcc e o código do usuário que podem falharA função 'foo' no snippet abaixo carregará apenas um dos membros da estrutura A ou B; bem, pelo menos essa é a intenção do código não otimizado. typedef struct { int A; ...