在传统 BIOS 引导加载程序中打印特殊非拉丁字符

问题描述

我正在制作一个简单的引导加载程序。我想在屏幕上打印一些非拉丁文本,但无法正确打印字符“ü”。如何让我的操作系统打印出像 ü 这样的字符?我已经搜索过了,但找不到任何相关信息。

main.asm

[org 0x7c00]

call clear
mov bx,SELAM
call print
call print_nl
mov bx,NABER
call print

jmp $

%include "print.asm"

SELAM:
    db 'Selamun Aleyküm.',0
NABER:
    db 'Nabün?',0

times 510 - ($-$$) db 0
dw 0xaa55 

print.asm

print:
    pusha

start:
    mov al,[bx]
    cmp al,0 
    je done

    mov ah,0x0e
    int 0x10
    
    add bx,1
    jmp start

done:
    popa
    ret



print_nl:
    pusha
    
    mov ah,0x0e
    mov al,0x0a
    int 0x10
    mov al,0x0d
    int 0x10
    
    popa
    ret

clear:
    pusha
    mov ah,0x00
    mov al,0x03
    int 0x10
    popa
    ret

我使用 NASM 作为汇编器。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)