Resultados da pesquisa a pedido "x86"
Como os objetos funcionam em x86 no nível da montagem?
Estou tentando entender como os objetos funcionam no nível da montagem. Como exatamente os objetos são armazenados na memória e como as funções de membro os acessam? (nota do editor: a versão original eramaneira muito amplo e tinha ...
emu8086, altere o caso da string inserida e inverta-a [fechada]
Eu sou totalmente novo em programação em linguagem assembly e estou com um problema no qual preciso alterar o caso da string inserida e reverter a string também. Estou usando o emu8086. No código a seguir, eu sou capaz de alterar maiúsculas e ...
Instruções x86 para definir sinalizadores de paridade, estouro e sinalização
Nós temos oSTC instruções para definir o sinalizador de transporte. Temos instruções semelhantes para paridade, estouro, sinalizadores de sinalização etc.? eu tenteiSTP, STS etc, mas parece que estes não existem!
Qual é a melhor maneira de definir um registro como zero na montagem x86: xor, mov ou e?
Todas as instruções a seguir fazem o mesmo: set%eax para zero. Qual o caminho ideal (exigindo menos ciclos de máquina)? xorl %eax, %eax mov $0, %eax andl $0, %eax
Alcançando o desempenho do Numba com o Cython
Normalmente, sou capaz de igualar o desempenho do Numba ao usar o Cython. No entanto, neste exemplo, falhei em fazê-lo - o Numba é cerca de 4 vezes mais rápido que a versão do meu Cython. Aqui a versão do Cython: %%cython -c=-march=native ...
Teste se um registro é zero com CMP reg, 0 vs OR reg, reg?
Existe alguma diferença de velocidade de execução usando o seguinte código: cmp al, 0 je donee o seguinte: or al, al jz doneEu sei que as instruções JE e JZ são as mesmas e também que o uso de OR fornece uma melhoria de tamanho de um byte. No ...
arquivo de montagem externo no visual studio
Pesquisei e descobri que não posso usar__asm em x64 no visual studio. Em vez disso, tenho que usar um arquivo de montagem externo. Como posso adicionar um arquivo de montagem externo ao meu projeto de console do win32? Como pode ...
Existe uma penalidade quando a base + deslocamento estiver em uma página diferente da base?
Os tempos de execução para esses três trechos: pageboundary: dq (pageboundary + 8) ... mov rdx, [rel pageboundary] .loop: mov rdx, [rdx - 8] sub ecx, 1 jnz .loopE isto: pageboundary: dq (pageboundary - 8) ... mov rdx, [rel pageboundary] .loop: ...
Por que não é permitido mover de memória para memória?
Eu queria saber se isso é permitido na montagem, movl (%edx) (%eax)Eu teria imaginado que ele acessa a memória no primeiro operando e coloca na memória do segundo operando, algo como * a = * b, mas não vi nenhum exemplo lidando com isso, então ...
falha de segmentação de acesso à memória x86
Estou aprendendo a montagem do x86 por curiosidade. Atualmente, estou usando um sistema operacional Linux com o montador NASM. Estou tendo dificuldades para entender por que SECTION .text global _start _start: nop mov ebx, 25 mov [0xFFF], ebx ...