Resultados da pesquisa a pedido "assembly"
O que o padrão de código como .size X, .- X faz?
Minha pergunta é sobre algum código popular, mas não bem documentado, que encontrei nos arquivos de inicialização do ARM CORTEX M, comothis STM32 [https://github.com/tmdarwen/STM32/blob/master/STM32F411/ArmCortexM4Analysis/startup.s] . O ...
ARM Assembly. Enquanto o loop não estiver funcionando corretamente
Então, minha tarefa é mais complexa do que apenas imprimir números de um loop while, mas eu não consigo nem fazer com que o loop while funcione corretamente, por isso estou trabalhando nisso por enquanto. Estou tentando pegar uma entrada do ...
Qual é o significado de cada linha da saída de montagem de um mundo olá
Corri gcc -S sobre isso: int main() { printf ("Hello world!"); }e eu recebi este código de montagem: .file "test.c" .section .rodata .LC0: .string "Hello world!" .text .globl main .type main, @function main: leal 4(%esp), %ecx andl $-16, %esp ...
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) ...
Erro de falha de segmentação ocorrendo no programa de código Assembly
Continuo recebendo um erro de falha de segmentação ao executar meu código. Tudo foi bem compilado, mas parece que não consigo fazer o que quero. O programa é pedir ao usuário que digite 3 números inteiros, depois pergunte ao usuário qual eles ...
O sinal X86 IDIV do restante depende do sinal de dividendo para 8 / -3 e -8/
Alguém pode me explicar por que o sinal do restante é diferente nesses casos? Isso é um bug do emulador ou as CPUs reais também fazem isso? [/imgs/70nna.png] 8 / -3 : quotient(AL) = -2 remainder(AH) = 2 -8 / 3 : quotient(AL) = ...
Efeitos de desempenho estranhos de lojas dependentes próximas em um loop de perseguição de ponteiros no IvyBridge. A adição de uma carga extra acelera?
Primeiro, tenho a configuração abaixo em um IvyBridge, inserirei o código de medição da carga útil no local comentado. Os primeiros 8 bytes debuf armazena o endereço debuf, eu uso isso para criar dependência de loop: section .bss align 64 buf: ...
ombinação inválida de opcode e operandos [duplicado]
Esta pergunta já tem uma resposta aqui: ombinação inválida de erro de opcode e operand [/questions/39958149/invalid-combination-of-opcode-and-operands-error] 1 respostaSEGMENT .data print db "%d %d %d %d This is a test of printf", 10, 0 rowm dw ...
O que @plt significa aqui?
0x00000000004004b6 <main+30>: callq 0x400398 <printf@plt>Alguém sabe ATUALIZA Por que doisdisas printf me dê um resultado diferente? (gdb) disas printf Dump of assembler code for function printf@plt: 0x0000000000400398 <printf@plt+0>: jmpq ...
Como executar E / S de baixo nível com uma unidade flash USB no BIOS (em comparação com um disquete)?
Estive estudando recentemente algum código de bootstrap destinado a ser usado com uma unidade de disquete. Meu objetivo é modificar o programa para que ele use minha unidade flash USB. Agora vejo como a função INT 13H foi usada com o dispositivo ...