Resultados da pesquisa a pedido "assembly"
Como calcular o lembrete de divisão na montagem SPARC?
qui está o pseudo-código que calcula a divisão de dois números inteiros positivo registro @HR salva lembrete e LR salva dividendos. (e eventualmente salva a raiz) No entanto, acho que esse algoritmo tem algum problem Por que esse algoritmo às ...
Teste se o valor no EAX é igual a qualquer valor em uma matriz x86
Estou tentando testar se o valor aleatório gerado no eax é igual a qualquer valor em uma matriz que eu aloquei. O loop externo gera a matriz e a grava na tela e na matriz. O loop interno deve testar se o valor existe na matriz. Sei que não estou ...
Como um gerenciador de inicialização pode ler um DVD (cd)?
Eu tenho um bootloader de primeiro estágio escrito, em assembly. Eu preciso que ele carrega o carregador de inicialização do segundo estágio a partir do dvd (ou cd). Eu só encontrei exemplos onde ele lê de floopy ou hdd. A interrupção usada é ...
Como sair de um loop na montagem
Eu tenho um loop com algumas condições, o que significa que, quando o loop terminar, ele passará pelo segmento de loop restante. Como forçar o programa a pular o segmento de loop restante, mesmo se o ecx já estiver em
Por que os programas de montagem têm segmentos separados?
Por que os programas de montagem carregam segmentos .data/.bss e.text) em blocos de memória separados, em vez de carregar os dados e os segmentos de código em um único bloco de memória? Meu palpite é que o sistema operacional pode, então, mover ...
Qual é a maneira mais rápida de converter float para int em x86
Qual é a maneira mais rápida de converter um número de ponto flutuante em int em uma CPU x86. De preferência em C ou montagem (que pode ser alinhada em C) para qualquer combinação do seguinte: Flutuação de 32/64/80 bits -> inteiro de 32/64 bits ...
Por que dados e segmentos de pilha são executáveis?
Acabei de notar que meu programa simples tem seus segmentos de dados e pilha executáveis. Eu vi isso em / proc / [pid] / maps, e um código simples confirmo Por exemplo ; prog.asm section .data code: db 0xCC ;int3 section .text global _start ...
Por que o gcc força o PIC para bibliotecas compartilhadas x64?
Tente compilar código não PIC em uma biblioteca compartilhada em x64 comgcc resulta em um erro, algo como: /usr/bin/ld: /tmp/ccQ2ttcT.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with ...
C # Teórico: Escreva um JMP em uma codecave em asm
Suponhamos que eu tenha alocado o endereço onde minha codecave é colocada usandoVirtualAllocEx (retorna o endereço) e escrevo meu código nesse endereço usandoWriteProcessMemory(). Aqui está a pergunta: Como eu escrevo um salto na minha ...
Instruções de salto no conjunto MIPS
Aqui está um código de montagem do MIPS que escrevi para testar a instrução de salto: addi $a0, $0, 1 j next next: j skip1 add $a0, $a0, $a0 skip1: j skip2: add $a0, $a0, $a0 add $a0, $a0, $a0 skip2: j skip3 loop: add $a0, $a0, $a0 add $a0, ...