From a35bf8014d08a7b7936df8ce321a73a683143a73 Mon Sep 17 00:00:00 2001 From: Yourtion Date: Fri, 5 Sep 2014 16:43:57 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BB=E5=8F=9610=E4=B8=AA=E6=9F=B1=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 03_day/ipl.nas | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/03_day/ipl.nas b/03_day/ipl.nas index b88e92e..c88e0e1 100644 --- a/03_day/ipl.nas +++ b/03_day/ipl.nas @@ -1,6 +1,8 @@ ; haribote-ipl ; TAB=4 +CYLS EQU 10 ; 声明CYLS=10 + ORG 0x7c00 ; 指明程序装载地址 ; 标准FAT12格式软盘专用的代码 Stand FAT12 format floppy code @@ -44,7 +46,7 @@ entry: readloop: MOV SI,0 ; 记录失败次数寄存器 - + retry: MOV AH,0x02 ; AH=0x02 : 读入磁盘 MOV AL,1 ; 1个扇区 @@ -66,6 +68,14 @@ next: ADD CL,1 ; 往CL里面加1 CMP CL,18 ; 比较CL与18 JBE readloop ; CL <= 18 跳转到readloop + MOV CL,1 + ADD DH,1 + CMP DH,2 + JB readloop ; DH < 2 跳转到readloop + MOV DH,0 + ADD CH,1 + CMP CH,CYLS + JB readloop ; CH < CYLS 跳转到readloop ; 读取完毕,无其他指令进入休眠