Resultados da pesquisa a pedido "assembly"
Como na montagem atribuir um número negativo a um int não assinado funciona?
Eu aprendi sobre2's Complement e não assinado e assinado int. Decidi testar meus conhecimentos, tanto quanto sei que um número negativo é armazenado em2's complement maneira que adição e subtração não teriam algoritmos e circuitos diferentes ...
O que o Windows faz antes que Main () seja chamado?
O Windows deve fazer algo para analisar o cabeçalho do PE, carregar o executável na memória e passar argumentos da linha de comando paramain(). Usando o OllyDbg, configurei o depurador para quebrar em main () para que eu pudesse visualizar a ...
registro inválido para .seh_savexmm no Cygwin
$ make Eu trabalhei com o cygwin, mas obtive um erro de compilação. Não tenho certeza do que é registro inválido para .seh_savexmm, por favor me ajude. Eu procurei este problema no google, mas não acho que existem muitos problemas, mas não o ...
Instrução if versus if-else, que é mais rápida? [fechadas]
Outro dia discuti com um amigo sobre esses dois trechos. Qual é mais rápido e por quê? value = 5; if (condition) { value = 6; }e: if (condition) { value = 6; } else { value = 5; }E sevalue é uma matriz? Nota: eu sei quevalue = condition ? 6 : ...
Assembler passa problema
Estou com um problema no meu montador 8086 que estou escrevendo. O problema é com as passagens do montador. Durante o passe 1, você calcula a posição relativa ao segmento para cada etiqueta. Agora, para fazer isso, o tamanho de cada instrução ...
Compilador usando variáveis locais sem ajustar o RSP
Em questãoCompiladores: Compreendendo o código de montagem gerado a partir de pequenos programas [https://stackoverflow.com/questions/42994231/compilers-understanding-assembly-code-generated-from-small-programs/42994347#42994347] o compilador usa ...
Montagem x86: Exceção de ponto flutuante da divisão dividida por 11
Estou tentando dividir859091 por11 para obter o quociente e o restante, mas estou recebendo a exceção de ponto flutuante on-line: div bx Este é o meu código paraSASM: %include "io.inc" section .data dividend dd 859091 divisor dw 11 section ...
Montagem simples do MIPS - Retornando um número de Fibonacci
Estou tentando criar um código de montagem simples que pega uma entrada N e retorna o número N-ésimo de fibonacci (por exemplo, se você digitar 2, ele deve gerar 1 e se você digitar 3, ele deve gerar 2). Meu código não gera erros, mas depois de ...
Qual é a diferença entre retq e ret?
Vamos considerar o seguinte programa, que calcula um quadrado não assinado do argumento: .global foo .text foo: mov %rdi, %rax mul %rdi retIsso é compilado corretamente poras, mas desmonta para 0000000000000000 <foo>: 0: 48 89 f8 mov %rdi,%rax ...
Qual é a diferença entre "lea eax, [ebx + eax]" e "add eax, ebx" no assembly x86-32?
O GCC me criou um código de montagem e, dentro dela, esta declaração: lea eax, [ebx+eax](Sintaxe da Intel) Apenas curioso, qual seria a diferença entre isso e: add eax, ebxEstar? eax e ebx contém valores de retorno de funções :) mov eax, ...