练习题

🟢 基础练习

练习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 的内容:

  1. 找到你的代码在哪里
  2. 找到引导签名 55 AA 在哪里
  3. 确认文件大小是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块数)