Resultados da pesquisa a pedido "nasm"

2 a resposta

BIOS int 10h imprimindo lixo no QEMU

Eu tenho um problema ao escrever um programa de montagem em modo real x86 que é executado como um carregador de inicialização noQEMU. Estou tentando imprimir texto através da interrupção do BIOS 0x10. Meu código é: print: pusha .loop: mov AL, ...

1 a resposta

O segundo estágio do carregador de inicialização imprime lixo usando Int 0x10 / ah = 0x0e

Estou tentando aprender montagem e escrever um gerenciador de inicialização. O código a seguir carrega o conteúdo de uma unidade de disquete na memória e salta para ela (inicia o carregamento no endereço 0x1000). Esse código deve imprimir "X" na ...

2 a resposta

Vinculando um programa assembler: erro "referência indefinida a` printf '"

Estou tentando compilar issocódigo de montagem x86 [https://github.com/xorpd/asm_prog_ex_yasm/blob/master/3_basic_yasm/4_exercises/1_read_code/0_strange_calc.asm] no x64 Debian: BITS 32 %include 'training.s' global main extern exit ...

1 a resposta

Leitura da memória no modo real 8086 ao usar 'ORG 0x0000'

Eu tenho mexido com o assembly x86-16 e executado com o VirtualBox. Por alguma razão, quando leio de memória e tento imprimi-lo como personagem, obtenho resultados completamente diferentes do que esperava. No entanto, quando codifico o caractere ...

1 a resposta

Rotina de tratamento de interrupção no modo real não está funcionando conforme o esperado

Eu consegui carregar um pequeno kernel na memória através de um gerenciador de inicialização que executa um salto0x0090:0x0000. O kernel é carregado com sucesso à medida que imprimo um caractere para testá-lo e funciona corretamente. Eu queria ...

1 a resposta

As tabelas Near Call / Jump nem sempre funcionam em um gerenciador de inicialização

Problema GeralEstou desenvolvendo um gerenciador de inicialização simples e deparei com um problema em alguns ambientes em que instruções como estas não funcionam: mov si, call_tbl ; SI=Call table pointer call [call_tbl] ; Call print_char ...

1 a resposta

Não é possível pular ou chamar o kernel carregado em 0x8000

Estou tentando desenvolver um sistema operacional. O design é o seguinte: tenho um carregador de inicialização carregado em 0x7c00 que carrega o segundo estágio e salta para ele em 0x7e00. O segundo estágio também está no modo real e faz muitas ...

2 a resposta

realocação nasm / ld "truncada para caber: R_386_16"

Montagem: [BITS 16] global _start _start: mov ax, 0x07C0 mov ds, ax mov si, hw call print_string jmp $ print_string: mov ah, 0x0E .char: lodsb cmp al, 0 je .exit int 0x10 jmp .char .exit: ret times 0x100-($-$$) db 0 hw: db "Hello, World!", ...

1 a resposta

Como posso criar uma imagem de CD inicializável com meu kernel?

Eu tenho um kernel, para inicializar estou usando o comandoqemu-system-i386 -kernel kernel.bin. Existe alguma maneira de criar uma imagem de disco inicializável para inicializar comqemu-system-i386 -cdrom CD.iso? O código que estou compilando no ...

2 a resposta

Número de instruções executadas diferentes para o programa Hello World Nasm Assembly e C

Eu tenho um depurador simples (usando ptrace:http://pastebin.com/D0um3bUi [http://pastebin.com/D0um3bUi]) para contar o número de instruções executadas para um determinado programa executável de entrada. Ele usa o modo de execução de etapa única ...