@HelpMePlease2

Почему этот asm код запускается?

У меня есть код который компилируется NASM и запускается в QEMU. Он должен просто вывести Hello, world в BIOS. Но вместе с ним запускается reboot_req. В чём проблема?
[org 0x8000]

mov si, helloworld
call print
mov si, newline
call print

reboot_req:
    mov si, reboot_request
    call print
    mov ah, 0x0
    int 0x16
    int 0x19

%include "print.asm"
helloworld: db "Hello, world!!!", 0
newline: db 0x0d, 0xa, 0
reboot_request: db 0x0d,0xa, "Press any key to reboot...", 0x0d,0xa,0
cmd: db "$ ", 0
wrongcmd: db "Wrong command!!!", 0
times 2048-($-$$) db 0

А это файл print.asm
print:
    push ax
    push si

    mov ah, 0x0e
    .Loop:
    mov al, [si]
    cmp al, 0
    je .Exit
    int 0x10
    inc si
    jmp .Loop
    .Exit:
    pop ax
    pop si
    ret
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы