From 71c90ad355deeaac14ea45ae2ef810cc098f310e Mon Sep 17 00:00:00 2001 From: Yourtion Date: Wed, 10 Sep 2014 14:02:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BB=E5=8F=96=E9=94=AE=E7=9B=98=E6=8C=87?= =?UTF-8?q?=E7=A4=BA=E7=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 03_day/haribote.nas | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/03_day/haribote.nas b/03_day/haribote.nas index 9a3792c..0f694b0 100644 --- a/03_day/haribote.nas +++ b/03_day/haribote.nas @@ -1,11 +1,30 @@ ; haribote-os ; TAB=4 - ORG 0xc200 ; 知道程序被装载到内存的地址 +; 有关BOOT_INFO +CYLS EQU 0x0ff0 ; 设定启动区 +LEDS EQU 0x0ff1 +VMODE EQU 0x0ff2 ; 关于颜色数目的信息。颜色的位数 +SCRNX EQU 0x0ff4 ; 分辨率的X(screen x) +SCRNY EQU 0x0ff6 ; 分辨率的Y(screen y) +VRAM EQU 0x0ff8 ; 图像缓冲区的开始地址 - MOV AL,0x13 ; VGA显卡、320x200x8bit 彩色 + ORG 0xc200 ; 这个的程序要被装载的内存地址 + + MOV AL,0x13 ; VGA显卡,320x200x8bit MOV AH,0x00 INT 0x10 + MOV BYTE [VMODE],8 ; 记录画面模式 + MOV WORD [SCRNX],320 + MOV WORD [SCRNY],200 + MOV DWORD [VRAM],0x000a0000 + +; 用BIOS取得键盘上各种LED指示灯的状态 + + MOV AH,0x02 + INT 0x16 ; keyboard BIOS + MOV [LEDS],AL + fin: HLT - JMP fin \ No newline at end of file + JMP fin