Resultados da pesquisa a pedido "x86-64"
Problema ao mudar para o modo v8086 do modo protegido de 32 bits, definindo EFLAGS.VM para 1
Estou no modo protegido de 32 bits em execução no nível de privilégio atual (CPL = 0). Estou tentando entrar no modo v8086 definindo o sinalizador EFLAGS.VM (Bit 17) como 1 (e IOPL como 0) e executando um FMP JMP no meu código de modo real de 16 ...
Por que clang produz asm ineficiente com -O0 (para esta soma simples de ponto flutuante
Estou desmontando este código no llvm clang Apple LLVM versão 8.0.0 (clang-800.0.42.1): int main() { float a=0.151234; float b=0.2; float c=a+b; printf("%f", c); } Compilei sem especificações -O, mas também tentei com -O0 (fornece o mesmo) ...
rbp não permitido como base SIB?
Eu sou bastante novo na codificação binária x86-64. Estou tentando corrigir algum código antigo de "assembler". e qualquer forma, estou tentando fazer algo assim (sintaxe da Intel): mov [rbp+rcx], al O montador está atualmente gerando ...
Qual é a diferença entre as instruções x86-64 da AT&T movq e movabsq?
Depois de leresta resposta de estouro de pilha [https://stackoverflow.com/questions/40315803/difference-between-movq-and-movabsq-in-x86-64] eesse documento [https://www.cs.cmu.edu/~fp/courses/15213-s07/misc/asm64-handout.pdf], Ainda não entendo a ...
Como mover o dobro em% rax para uma determinada posição qword em% ymm ou% zmm? (Kaby Lake ou posterior)
A ideia é que eu gostaria de coletar valores retornados dedouble em um registro vetorial para processamento para máquinaimm width de uma vezsemarmazenando de volta na memória primeiro. O processamento específico é umvfma com outros dois ...
Montagem intrigante para comparar std :: optional de tipos primitivos
Valgrind pegou uma enxurradaSalto ou movimento condicional depende de valores não inicializados em um dos meus testes de unidade. Inspecionando a montagem, percebi que o seguinte código: bool operator==(MyType const& left, MyType const& right) ...
Que considerações são necessárias para prever a latência das operações em processadores superescalares modernos e como posso calculá-las manualmente?
Quero poder prever, manualmente, por quanto tempo aritmética arbitrária (ou seja, sem ramificação ou memória, embora isso seja bom também) o código de montagem x86-64 levará em conta uma arquitetura específica, levando em conta a reordenação de ...
Por que o compilador reserva um pouco de espaço na pilha, mas não todo o tamanho da matriz?
O código a seguir int main() { int arr[120]; return arr[0]; }Compila para isso: sub rsp, 360 mov eax, DWORD PTR [rsp-480] add rsp, 360 retSabendo que as entradas são de 4 bytes e a matriz é do tamanho 120, a matriz deve ter 480 bytes, mas ...
glibc scanf Falha na segmentação quando chamada de uma função que não alinha o RSP
Ao compilar o código abaixo: global main extern printf, scanf section .data msg: db "Enter a number: ",10,0 format:db "%d",0 section .bss number resb 4 section .text main: mov rdi, msg mov al, 0 call printf mov rsi, number mov rdi, format mov ...
Como obter argumentos de valor usando assembly embutido em C sem Glibc?
Como obter argumentos de valor usando assembly embutido em C sem Glibc? eu preciso desse código paraLinux arquitecturax86_64 ei386. se você conheceMAC OS X ouWindows , também envie e guie. void exit(int code) { //This function not important! ...