Resultados da pesquisa a pedido "x86"

6 a resposta

Enhanced REP MOVSB for memcpy

Gostaria de usar o REP MOVSB aprimorado (ERMSB) para obter uma largura de banda alta para uma personalizaçãomemcpy. O ERMSB foi introduzido com a microarquitetura Ivy Bridge. Consulte a seção "Operação REP MOVSB e STOSB aprimorada (ERMSB)" ...

2 a resposta

_umul128 no Windows 32 bits

No Visual C ++, _umul128 é indefinido ao direcionar o Windows 32 bits. Como dois inteiros de 64 bits não assinados podem ser multiplicados quando o Win32 é direcionado? A solução só precisa funcionar no Visual C ++ 2017 visando o Windows 32 bits.

1 a resposta

Como exatamente a instrução x86 LOOP funciona?

mov ecx, 16 looptop: . . . loop looptopQuantas vezes esse loop será executado? O que acontece seecx = 0 começar com? Fazloop pular ou cair nesse caso?

2 a resposta

Como criar um iso inicializável (não CD ou unidade flash) para testar seu próprio gerenciador de inicialização?

Estou tentando escrever um gerenciador de inicialização (Olá, tipo mundial). Estou usando o Bochs para simulação (plataforma Linux-Ubuntu). Mas não consigo criar um iso inicializável para o meu arquivo binário. Embora no tutorial VFD (disquete ...

1 a resposta

Implementação de Syscall da saída ()

Eu escrevi um simplesCprograma que apenas chama oSaída() [http://man7.org/linux/man-pages/man3/exit.3.html]função, no entantotraço [https://linux.die.net/man/1/strace]diz que o binário está realmente chamando exit_group, exit () é um wrapper ...

2 a resposta

Por que o uso da mesma linha de cache de vários threads não causa lentidão grave?

Veja este trecho: #include <atomic> #include <thread> typedef volatile unsigned char Type; // typedef std::atomic_uchar Type; void fn(Type *p) { for (int i=0; i<500000000; i++) { (*p)++; } } int main() { const int N = 4; std::thread thr[N]; ...

4 a resposta

Endianness dentro dos registros da CPU

Preciso de ajuda para entender o endianness dentro dos registros da CPU dos processadores x86. Eu escrevi este pequeno programa de montagem: section .data section .bss section .text global _start _start: nop mov eax, 0x78FF5ABC mov ebx,'WXYZ' ...

1 a resposta

Havia um modelo P4 com operações de 64 bits com bombeamento duplo?

Lembro-me de que uma das características interessantes da microarquitetura P4 inicial eraALU de bombeamento duplo [http://www.realworldtech.com/forum/?threadid=2538&curpostid=2538]. Eu acho que a Intel chamou algo como oUnidade de Execução ...

2 a resposta

É legal otimizar lojas externas / construção de variáveis de pilha voláteis?

Percebi que o clang e o gcc otimizam a construção ou a atribuição a um componente volátil.struct declarado na pilha, em alguns cenários. Por exemplo, o seguinte código: struct nonvol2 { uint32_t a, b; }; void volatile_struct2() { volatile ...

2 a resposta

Por que o MOV AH, 1 não é suportado no modo de 64 bits do microprocessador intel?

No livro "OS MICROPROCESSADORES INTEL" de Barry B. Brey, está escrito que MOV AH, 1não é permitido no modo de 64 bits, mas permitido no modo de 32 ou 16 bits. E seMOV AL, 1 pode ser permitido no modo de 64 bits, qual é o problema comMOV AH, 1 ?