Resultados da pesquisa a pedido "x86"
Como definir o ponto de interrupção usando o GDB para montagem x86 quando nenhuma informação de símbolo está presente? [duplicado
Esta pergunta já tem uma resposta aqui: Parando na primeira instrução de código de máquina no GDB [/questions/10483544/stopping-at-the-first-machine-code-instruction-in-gdb] 5 respostasComo definir um ponto de interrupção usando o código de ...
aiz @Cube na FPU x87 usando o método Newton-Raphson
Estou tentando escrever um programa de montagem usando o processador 8086 que encontrará a raiz do cubo de um número. Obviamente, estou usando pontos flutuantes. Algoritmo baseado em Método ...
Como imprimir um número inteiro na Programação em nível de montagem sem printf da biblioteca
Alguém pode me dizer opurely assembly código para exibir o valor em um registro em formato decimal? Por favor, não sugira usar o printf hack e compile com o gcc. Descrição Bem, eu fiz algumas pesquisas e algumas experiências com o NASM e ...
sando o LEA em valores que não são endereços / ponteiro
Eu estava tentando entender como a Instrução de Computação de Endereço funciona, especialmente comleaq comando. Então fico confuso quando vejo exemplos usandoleaq para fazer cálculos aritméticos. Por exemplo, o seguinte código C, long m12(long ...
sando o registro do ponteiro base no C ++ inline a
Eu quero poder usar o registro do ponteiro base %rbp) dentro do asm inline. Um exemplo disso é o seguinte: void Foo(int &x) { asm volatile ("pushq %%rbp;" // 'prologue' "movq %%rsp, %%rbp;" // 'prologue' "subq $12, %%rsp;" // make room "movl $5, ...
E se não houver uma declaração de retorno em um bloco de código CHAMADO nos programas de montagem
O que acontece se eu disser 'ligar' em vez de pular? Como não há declaração de retorno escrita, o controle passa apenas para a próxima linha abaixo ou ainda é retornado para a linha após a chamada? start: mov $0, %eax jmp two one: mov $1, %eax ...
Assembly ADC (adicionar com transporte) para C ++
Há uma instrução de montagemADC. Descobri que isso significa "Adicionar com transporte". Mas eu não sei o queaquel significa. Ou como escrever esta instrução em C ++. E eu sei que não é o mesmo queADD. Portanto, fazer um somatório simples não ...
O código gerado pelo compilador C Minúsculo C emite NOPs e JMPs extras (desnecessários)
Alguém pode explicar por que esse código: #include <stdio.h> int main() { return 0; } quando compilado com tcc usandotcc code.c produz este asm: 00401000 |. 55 PUSH EBP 00401001 |. 89E5 MOV EBP,ESP 00401003 |. 81EC 00000000 SUB ESP,0 00401009 ...
ual registro de segmento é usado por padrã
Estudo sobre arquitetura de computadores no Manual da Intel. O que eu entendo é que as instruções que fornecemos são endereços lógicos que consistem em um seletor de segmentos e um deslocamento. É basicamenteCS register<<4 + offset. OSegment ...
80x86 asm de 16 bits: lea cx, [cx * 8 + cx] causa erro no NASM (compilação de arquivo .com)
O erro que o NASM dá (apesar do meu sistema operacional) é "endereço efetivo inválido" Agora eu já vi muitos exemplos de como usar o LEA e acho que acertou, mas meu NASM não gosta. Eu tenteilea cx, [cx+9] e funcionou;lea cx, [bx+cx] ...