练习题
🟢 基础练习
练习1:打印你的名字首字母
修改 boot.asm,让引导扇区打印你名字的第一个字母(而不是 ‘A’)。
练习2:打印多个字符
修改代码,打印 “Hi” 两个字符:
; 提示:重复使用 INT 0x10
mov ah, 0x0E
mov al, 'H'
int 0x10
mov al, 'i'
int 0x10练习3:验证引导签名
编译后使用 xxd 查看 boot.bin 的内容:
- 找到你的代码在哪里
- 找到引导签名 55 AA 在哪里
- 确认文件大小是512字节
🟡 进阶练习
练习4:打印完整字符串
编写一个完整的引导扇区,打印 “Hello, OS!” 并换行。
提示:
- 需要一个循环来遍历字符串
- 使用
lodsb指令 - 换行需要打印
0x0D(回车)和0x0A(换行)
练习5:彩色字符
在引导扇区中,直接写VGA显存(0xB8000)来显示彩色字符。
提示:
mov ax, 0xB800
mov es, ax
mov byte [es:0], 'H' ; 字符
mov byte [es:1], 0x0A ; 绿色🔴 挑战练习
练习6:显示内存大小
使用 BIOS INT 0x15 (AX=0xE801) 获取可用内存大小,并打印到屏幕。
提示:
- 需要实现数字到十六进制字符串的转换
- INT 0x15, AX=0xE801 返回内存大小(AX=1MB以上的KB数,BX=16MB以上的64KB块数)