04.实现读取其他扇区数据显示

本文介绍了如何使用汇编语言通过BIOS中断读取软盘的其他扇区数据,并展示了如何在内核加载器中将读取的扇区字符串显示在屏幕上。通过设置磁头号、柱面号和扇区号,调用中断0x13完成读盘操作,然后在C语言中写入扇区并成功显示读取的内容。
摘要由CSDN通过智能技术生成

简介

上一节我们使用C语言实现了3.5寸虚拟软盘文件结构,操作系统文件必须突破头512字节的限制,需要把数据写入其他扇区,在头512字节中实现加载其他扇区文件到内存。

目标

使用自制的C语言虚拟软盘模块,把显示的字符串数据写入1磁道、0磁头、2扇区,在内核加载器中读取该扇区字符串显示在屏幕上。

1.BIOS:

BIOS是英文"Basic Input Output System"的缩略词,直译过来中文名称就是"基本输入输出系统"。它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

使用汇编读取软盘我们要调用相应的BIOS中断,将要读取的磁头号,柱面,扇区号传给中断代码,读取软盘的汇编代码如下:

mov ch, 1 ;CH 用来存储柱面号
mov dh, 0 ;DH 用来存储磁头号
mov cl, 2 ;CL 用来存储扇区号
es:bx寄存器作为读取磁盘扇区数据的缓存区
mov ah, 0x02 ; AH = 02 表示要做的是读盘操作
mov al, 1 ; AL 表示要练习读取几个扇区
mov dl, 0 ;驱动器编号,一般我们只有一个软盘驱动器,所以写死
;为0
int 0x13 ;调用BIOS中断实现磁盘读取功能
jc error ; 如果读盘出现错误,跳转到error处执行相应

2.代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值