loader.S 763 B

123456789101112131415161718192021222324252627282930313233
  1. ; loader
  2. ; 位于硬盘第 2 扇区(LBA 地址)
  3. ; ----------------------------------------------------------------
  4. %include "boot.inc"
  5. SECTION LOADER vstart=LOADER_BASE_ADDR
  6. ; 输出背景绿色,前景红色,并且跳动的字符串 "2 LOADER"
  7. mov byte [gs:0x00], '2'
  8. mov byte [gs:0x01], 0xA4
  9. mov byte [gs:0x02], ' '
  10. mov byte [gs:0x03], 0xA4
  11. mov byte [gs:0x04], 'L'
  12. mov byte [gs:0x05], 0xA4
  13. mov byte [gs:0x06], 'O'
  14. mov byte [gs:0x07], 0xA4
  15. mov byte [gs:0x08], 'A'
  16. mov byte [gs:0x09], 0xA4
  17. mov byte [gs:0x0A], 'D'
  18. mov byte [gs:0x0B], 0xA4
  19. mov byte [gs:0x0C], 'E'
  20. mov byte [gs:0x0D], 0xA4
  21. mov byte [gs:0x0E], 'R'
  22. mov byte [gs:0x0F], 0xA4
  23. jmp $ ; 通过死循环使程序悬停在此