Chcę wydrukować znaki takie jak ▀, ▄ i ■ w moim bootloaderze montażowym. Ale kiedy robię to tak:
Println:
lodsb
or al, al
jz complete
mov ah, 0x0e
int 0x10
jmp Println
complete:
call PrintNwL
PrintNwL:
mov al, 0
stosb
mov ah, 0x0E
mov al, 0x0D
int 0x10
mov al, 0x0A
int 0x10
ret
Msg db "Message with specia character ■", 0x0
mov si, Msg
call Println
Znaki specjalne zostają zastąpione przez dziwne inne postacie. Dziękuję za twoją pomoc
Odpowiedzi:
1 dla odpowiedzi № 1Dziękuję Michaelowi Petchowi i Ped7g za skomentowanie mojego pytania. Wypróbowałem obie twoje rady i obie zadziałały.
Oto metoda, której użyłem:
- Napisz znaki specjalne w pliku zespołu w postaci zwykłego tekstu (nie tak jak sugerował Michael Petch)
- Zapisz plik za pomocą Kodowanie DOS (Używam wysublimowanego tekstu jako edytora tekstu)
- Zbuduj go za pomocą NASM i wyświetl znaki w BIOS-ie