操作系统实现---boot启动并读软盘
作者:网络转载 发布时间:[ 2013/12/12 9:52:20 ] 推荐标签:
2、sys.s
mov ax,cs
mov ds,ax
mov es,ax
mov ss,ax
mov ax,msg
mov bp,ax
mov cx,msgLen
mov ax,01301h
mov bx,000ch
mov dl,0
int 10h
jmp $
msg:
db "It's the world of kernel!",0ah
msgLen equ $-msg
times 512-($-$$) db 0
|
将上述两个汇编程序编译之后生成boot.bin sys.bin 然后使用命令dd if=sys.bin of=boot.bin bs=512 seek=1 count=1 将这两个512字节的bin文件做成一个1024字节的文件(即boot在软盘的第一个扇区,sys在软盘的第二个扇区)
使用qemu-system-i386 -hda boot.bin 只出现了“Now,begin to load kernel....”一句话,换言之,sys并没有执行,但是使用bochs模拟却完全没有问题。
原因:应该使用qemu-system-i386 -fda boot.bin ,因为boot中使用的int 13h按照软驱的方式读取的,所以应该使用参数为-fda
若要使用硬盘启动的话,将程序的中的
load:
mov dx,0x0000 ;dh->磁头号,dl->驱动器号
改为:
load:
mov dx,0x0080 ;dh->磁头号,dl->驱动器号,软驱从0开始: ==> 软驱A:0 软驱B:1
;硬驱从80h开始: ===> 硬盘C:80h 硬盘D: 81h ....
即可!
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
浅谈操作系统对内存的管理HBase佳实践??用好你的操作系统选择适合Rails开发的操作系统三问:Linux操作系统安全加固卡巴斯基面向物联网设备发布专用操作系统卡巴斯基正式推出操作系统:非Linux,主打安全,秘研14年Linux以外的7种开源操作系统现代操作系统 - 存储设备看操作系统对程序的执行过程有哪些支持谷歌正开发融合操作系统Fuchsia,真的有必要吗?iOS在印度连第二名都排不上 本土操作系统太强大了解决Linux操作系统下AES解密失败的问题如何保护你的Linux操作系统?谷歌:安卓操作系统前景不容乐观韩国发布自主操作系统TmaxOS:兼容安卓、iOS和Windows摆脱安卓/WP依赖,华为将做自主操作系统
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南