操作系统开发小试-保护模式引导程序
+------------------------------------------------+ 操作系统开发小试-保护模式引导程序 +------------------------------------------------+ + +1.开发语言:ASM(工具:NASM) +2.虚拟环境:Virtual PC +3.应用工具:WinHex Ver11.2 ====================================================== %include "pm.inc" ;%define _BOOT_DEBUG_ %ifdef _BOOT_DEBUG_ org 00100h %else org 07c00h %endif jmp begin_boot ; 跳过其它的数据,跳转到引导程序的开始处 print_mesg: ; 打印信息调用 mov ah, 0x13 ; 使用中断10h的功能13,在屏幕上写一个字符串 mov al, 0x00 ; 决定调用函数后光标所处的位置 mov bx, 0x0007 ; 设置显示属性 mov cx, 0x20 ; 在此字符串长度为32 mov dx, 0x0000 ; 光标的起始行和列 int 0x10 ret get_key: ;等待按键 mov ah, 0x00 int 0x16 ; Get_key使用中断16h的功能0,读取下一个字符 ret clrscr: ; 清屏 mov ax, 0x0600 ; 使用中断10h的功能6,实现卷屏,如果al=0则清屏 mov cx, 0x0000 ; 清屏 mov dx, 0x174f ; 卷屏至23,79 mov bh, 0 ; 使用颜色0来填充 int 0x10 ret bits 16 ;gdt LABEL_DESC_NULL: Descriptor 0, 0, 0 LABEL_DESC_CODE32: Descriptor 0, SegCode32Len-1, DA_C + DA_32 LABEL_DESC_VIDEO: Descriptor 0B8000h, 0ffffh, DA_DRW gdtr dw $ - LABEL_DESC_NULL dd LABEL_DESC_NULL Se...