Resultados da pesquisa a pedido "assembly"
Imprimindo "array" de .bss em gdb
meu código de montagem nasm x86 contém o seguinte: ; The code should mimic the following C-code: ; int a[10]; ; for (int i = 0; i < 10; i++){ ; a[i] = i; ; } SECTION .data arraylen dd 10 SECTION .bss array RESD 10 SECTION .text global main main: ...
Segmento de pilha no gerenciador de inicialização MikeOS
Eu não entendo este pedaço de código: mov ax, 07C0h ; Set up 4K of stack space above buffer add ax, 544 ; 8k buffer = 512 paragraphs + 32 paragraphs (loader) cli ; Disable interrupts while changing stack mov ss, ax mov sp, 4096 sti ; Restore ...
Como o GMP armazena seus números inteiros, em um número arbitrário de bytes?
2 ^ 64 ainda está longe do "infinito" que minha memória ram / disco rígido pode suportar ... Primeiro, eu me pergunto como o GMP funciona com memória / processador, uma vez que faz algum tipo de otimização obscura ... Eu também queria saber se ...
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 ...
Código C ++ simples 10 vezes mais rápido que o assembler embutido. Por quê?
Esses dois trechos de código fazem o mesmo: Adicionando duas matrizes flutuantes e armazenando o resultado novamente nelas. Montador em linha: void vecAdd_SSE(float* v1, float* v2) { _asm { mov esi, v1 mov edi, v2 movups xmm0, [esi] movups ...
GCC 4.4: Evitar verificação de alcance na instrução switch / case no gcc?
Este é apenas um problema nas versões do GCC anteriores à 4.4. Foi corrigido no GCC 4.5. [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43462] É possível informar ao compilador que a variável usada em um switch se encaixa nas instruções de caso ...
NASM compilando endereços de rótulo x86_64 ASM por 256 bytes no Mach-O ao usar várias declarações de banco de dados?
Em suma, quando eu tenho váriosdb seções no meu.data Na seção, os endereços / etiquetas compilados ficam desativados quando compilados pelo NASM. Nos meus testes, eles são desativados por 256 bytes no binário Mach-O resultante. Software que ...
Como usar o endereçamento relativo RIP em um programa de montagem de 64 bits?
Como uso o endereçamento relativo RIP em um programa de montagem Linux para a arquitetura AMD64? Estou procurando um exemplo simples (um programa Hello world) que use o modo de endereço relativo AMD64 RIP. Por exemplo, o seguinte programa de ...
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, ...
Assembly: descritor de arquivo 0 ou 2 para ler a entrada do usuário
Estou aprendendo montagem e havia diferentes descritores de arquivo usados para ler a entrada do usuário. Para ler a entrada do teclado, eu esperava o descritor de arquivo 0 (stdin), mas me deparei com ...