Мне удалось напечатать строку в 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, но, кажется, он также не работает, когда я пытаюсь напечатать строку таким образом, что может рассказать вам кое-что о том, что не так, но я новичок
любая помощь будет отличной, спасибо!