Resultados da pesquisa a pedido "x86"
Determinar a frequência TSC no Linux
Dado um x86 com umTSC constante [https://stackoverflow.com/a/51907627/149138], que é útil para medir em tempo real, como é possível converter entre as "unidades" dos ciclos de referência TSC e as unidades humanas normais em tempo real, como ...
Montagem x86, obtendo falha de segmentação
section .data msg: db "hello!", 10, 0 ;my message section .text extern printf ;C printf function global main main: push ebp mov ebp, esp call print_string mov esp, ebp pop ebp ret ;end of program print_string: pusha push msg call printf ;should ...
Escreva funções x86 asm de forma portável (win / linux / osx), sem uma dependência de compilação do yasm / nasm?
par2 [https://github.com/Parchive/par2cmdline]possui uma base de código C ++ pequena e bastante limpa, que eu acho que funciona bem no GNU / Linux, OS X e Windows (com MSVC ++). Eu gostaria de incorporar uma versão x86-64 asm da única função que ...
Problemas com ADC / SBB e INC / DEC em loops apertados em algumas CPUs
Estou escrevendo um simples tipo BigInteger em Delphi. Consiste principalmente em uma matriz dinâmica do TLimb, onde um TLimb é um número inteiro não assinado de 32 bits e um campo de tamanho de 32 bits, que também mantém o bit de sinal ...
Usando o EMU8086, existe uma maneira direta de imprimir o valor hexadecimal de uma variável?
Estou usando o EMU8086 em um PC com Windows 7 HP x64, Intel i3-2330m. Passei cerca de duas semanas pesquisando e mexendo com esse programa de linguagem Assembly, em um esforço para imprimir o valor hexadecimal de um número inteiro inserido pelo ...
Se eu não usar cercas, quanto tempo levaria um núcleo para ver as gravações de outro núcleo?
Eu tenho tentado pesquisar minha pergunta no Google, mas sinceramente não sei como afirmá-la sucintamente. Suponha que eu tenha dois threads em um sistema Intel com vários núcleos. Esses encadeamentos estão em execução no mesmo nó NUMA. Suponha ...
O que significa o MOV EAX, DWORD PTR DS: [ESI] e o que ele faz?
Tudo bem, então eu tenho essa linha na minha montagem MOV EAX, DWORD PTR DS:[ESI]onde ESI é00402050 (ascii, "123456789012") Após esta instrução:EAX = 34333231 O que realmente aconteceu aqui? Como esse valor é calculado e por quê? Onde eu ...
Operações atômicas, std :: atomic <> e ordenação de gravações
O GCC compila isso: #include <atomic> std::atomic<int> a; int b(0); void func() { b = 2; a = 1; } para isso: func(): mov DWORD PTR b[rip], 2 mov DWORD PTR a[rip], 1 mfence retEntão, para esclarecer as coisas para mim: Qualquer outra discussão ...
Qual microarquitetura da Intel apresentou o caso especial ADC reg, 0 single-uop?
O ADC em Haswell e versões anteriores normalmente são 2 uops, com latência de 2 ciclos, porque os uops da Intel tradicionalmente só podiam ter 2 entradas ( https://agner.org/optimize/ [https://agner.org/optimize/]) Broadwell / Skylake e, ...
Convertendo um projeto C ++ em x64 com referências __m64
Então, quando iniciei a conversão e defina o destino como 'x64', recebo 7 externos não resolvidos. Dois exemplos: error LNK2001: unresolved external symbol _m_empty ...CONVOLUTION_2D_USHORT.obj CONVOLUTION_2D_USHORT error LNK2001: unresolved ...