王爽汇编语言课程设计2

本文介绍了如何设计一个可以自行启动的计算机程序,无需依赖现有操作系统。程序分为安装程序、主引导程序和系统程序三个部分,详细阐述了每个部分的功能和实现。安装程序负责将主引导程序和系统程序写入软盘不同扇区;主引导程序负责读取并执行系统程序;系统程序包含引导所需的所有程序和子程序。最后,提供了测试过程和使用的虚拟测试工具。

王爽汇编语言 第二版 课程设计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 dl,0
 mov dh,0
 
 mov ah,3
 int 13h
 
 ;子程序安装到从第2扇区开始的扇区
 mov ax,syssg
 mov es,ax
 mov al,15
 mov cl,2
 
 mov ah,3
 int 13h
 
 ;安装结束,返回
 mov ax,4c00h
 int

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值