王爽汇编语言 第二版 课程设计2
编写一个可以自行启动的计算机,不需要在现有操作系统环境中运行的程序
一、相关资料
系统启动初始化完成后最终调用19h,该中断读取软盘的第一扇区或硬盘的第一扇区到0:7c00开始的512个字节的内存空间中,并将cs:ip指向0:7c00执行。
更详细参考王爽汇编语言第二版,课程设计2,p.312
二、设计思路
将安装程序分为三个段,
1、第一个段为安装程序,负责将第二个段写入第一扇区,第三个段写入2-17扇区;
2、第二个段是主引导程序,存在于软盘第一扇区,由BIOS的19h中断读取到0:7c00开始的内存单元中,并执行0:7c00的第一行代码。这一段的任务是将软盘2-17扇区的数据读入内存,并执行。(这里读入到了2000:0开始的内存中)
3、第三个段是系统程序,存放所有引导所需的程序和子程序
三、详细设计
assume cs:setupsg
;安装程序
;将引导所需的程序写入到软盘
setupsg segment
assume cs:setupsg
setup:
;主引导程序安装到第一扇区
mov ax,initsg
mov es,ax
mov bx,0
mov al,1
mov ch,0
mov cl,1
mov d