B IOS строка печати прерывания - PullRequest
0 голосов
/ 06 февраля 2020

Мне удалось напечатать строку в B IOS (проверено на QEMU), но я хочу адаптировать ее в функцию, потому что у меня есть еще пара строк, которые я хочу напечатать, но я не могу просто вставить тот же код или это станет непонятным

Вот что я пытался:

PrintString:
    mov ah, 0xe
Next:
    mov al, [si]
    inc si
    or al, al
    jz Exit
    int 0x10
    jmp Next
Exit:
    ret

Boot:
    mov si, Message
    call PrintString
    jmp $

Message db "Test Test Test", 0

В основном я перемещаю указатель на первый символ в si, затем я go через каждый символ, пока я не получу 0, в котором я возвращаю

затем jmp $, чтобы оставить меня в oop

, но при тестировании в qemu выводит только "S"

У меня также есть фрагмент кода, который меняет цвет прерывания экрана через 10 ах 9, но, кажется, он также не работает, когда я пытаюсь напечатать строку таким образом, что может рассказать вам кое-что о том, что не так, но я новичок

любая помощь будет отличной, спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...