【发布时间】:2021-06-28 10:21:15
【问题描述】:
我正在制作一个简单的引导加载程序。我想在屏幕上打印一些非拉丁文本,但无法正确打印字符“ü”。如何让我的操作系统打印像ü 这样的字符?我已经搜索过它,但我找不到任何关于它的信息。
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
打印.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 作为汇编器。
【问题讨论】:
标签: assembly nasm x86-16 bootloader codepages