标题: 可以让你自编的程序被引导程序启动(含源代码)
[打印本页]
作者: taowentao
时间: 2005-8-26 11:49
标题: 可以让你自编的程序被引导程序启动(含源代码)
cstrt086.asm 是本人对open watcom c/c++ 1.3 启动文件的修改,使程序的启动地址 cstart 变为 0000:0000,使程序的重定位更容易,这样可用 EXEFLAT.EXE(仅用于 16位 dos 实模式) 生成可执行映象文件;
sys_demo.bat 是一批处理文件,将 demo.exe 变为可由 freedos boot loader 从硬盘引导的KERNEL.SYS
将open watcom c/c++ 1.3 link switches--> 3. Advanced switches 中starting address 设为_cstart_,
编译MAIN_boot.c和cstrt086.asm,将可执行文件命名为demo.exe,双击(执行)sys_demo.bat;可得到KERNEL.SYS.
将KERNEL.SYS 替换 freedos 的 KERNEL.SYS(可将freedos 的 KERNEL.SYS更名), 以实现 freedos boot loader
的硬盘引导;
将rtCell_img.rar和Qemu.rar中的文件解压缩到同一个文件夹(不包含任何自目录),双击(执行)rtCell.bat可看到KERNEL.SYS被 freedos boot loader 加载,并
在模拟器上执行.
*****************************************************
***此文件最好用虚拟机或模拟器执行,以免破坏硬盘数据***
*****************************************************
那位朋友有问题,有新想法,或者发现错误,请联系:taowentao_twt@163.com
[
Last edited by taowentao on 2005-9-3 at 15:53 ]
作者: taowentao
时间: 2005-8-28 13:30
标题: 读写硬盘fat16格式文件
"中國DOS聯盟論壇 » DOS開發編程 & 發展交流 (開發室)--->可读写硬盘fat16格式文件的实时微内核 "下还有关于读写硬盘fat16格式文件的文件,可以下载.
其中读写硬盘的c代码仅有400零几行;
读写fat16格式文件的c代码仅有620余行.
非常适合自己编写启动程序,或用于嵌入式系统.
作者: TurboY
时间: 2005-8-29 01:02
我现在还无法理解这些程序,但很佩服你对操作系统理解得如此透彻!
作者: fdsiuha
时间: 2005-8-29 15:47
怎样获得FREEDOS32的源代码?网站上说要使用好象是一个什么同步的下载工具把,但是我试了几次都不行。
作者: taowentao
时间: 2005-8-29 16:06
标题: 直接下载
我试了,可以直接下载
"http://prdownloads.sourceforge.net/freedos-32/fd32-0.0.5-src.tar.bz2?use_mirror=umn"
作者: fdsiuha
时间: 2005-8-29 20:39
我狂晕。(汗...)
我只注意那个Latest source code from CVS去了...
作者: taowentao
时间: 2005-8-31 09:18
标题: 关于你自编的程序
rtCell_img.rar和Qemu.rar 应同时下载,并解压缩到同一个文件夹(不包含任何自目录),方可看到在模拟器上的执行结果.
要使你自编的程序被引导程序启动,并正确执行,该程序中不可有任何dos调用,只能调用BIOS功能,或者你自编硬件驱动程序. 网上有很多资源可供借鉴,请各位朋友查询.
作者: taowentao
时间: 2005-9-2 09:33
标题: 向硬盘映象文件中添加文件
rtCell_img.rar中的rtCell.img是硬盘映象文件,你可以用winimage在其中添加或删除文件/文件夹(winimage可从
http://as.onlinedown.net/ 下载).
以便在模拟器上演示你编写的被"引导程序"启动的程序.
作者: taowentao
时间: 2005-9-7 15:21
标题: 向你的程序(静态)传递参数
对文件作如下修改:
public _arg1
public _arg2
.
.
.
_cstart_ proc near
jmp around
_arg1:
DB 'a', 'r', 'g', '1'
_arg2:
DB 'a', 'r', 'g', '2'
around: sti ; enable interrupts
mov dx,DGROUP
mov ds,dx
mov es,dx
call _CMain
_cstart_ endp
然后从 c 程序中引用 extern DWORD arg1, arg2;
从引导程序中(动态)或用二进制修改工具(静态)修改可执行文件中的 arg1, arg2 的值,从而可向你的程序传递参数.
作者: taowentao
时间: 2005-9-14 11:34
标题: 关于文件操作
脱离bios的 fat16 文件操作,请到
“DOS開發編程 & 發展交流 (開發室)------>
可读写硬盘fat16格式文件的实时微内核(含源代码) ”
下查看源代码。
作者: liangshenda
时间: 2006-2-4 14:40
ok
作者: hnlyzhd
时间: 2006-2-5 22:41
我來提供一個文件:
這是個硬盤保護卡的保護模塊,把hj.bin写在主板的BIOS芯片中。插上网卡即可代替硬盤保護卡。希望你能寫個在DOS下加載運行它的程序,或者像你在DOS論壇上發的程序那樣把它變成KERNEL.SYS來啟動測試其性能!
[
Last edited by hnlyzhd on 2006-2-5 at 22:48 ]
附件
1:
bin.rar (2006-2-5 22:47, 50.02 K, 下载附件所需积分 1点
,下载次数: 60)
作者: taowentao
时间: 2006-2-9 12:46
请把 hj.bin 的调用接口作个详细说明,列出其初始化入口地址。
作者: crackle
时间: 2006-10-20 15:14
太高深了!!看不懂
作者: electronixtar
时间: 2006-10-20 21:52
基础不够~~~高深~~
作者: lip7741
时间: 2007-3-20 17:22
现在还下不了
先记下先
作者: yh0208
时间: 2007-3-21 18:16
太高深了!!看不懂
作者: hwhohwh
时间: 2007-3-22 06:18
不错,确实不错呀,谢谢楼主了
作者: ghosthd
时间: 2007-5-29 09:21
明白大概原理,就是不会用。
作者: batching
时间: 2007-9-29 12:42
俺太菜,看不明白。
作者: xcom
时间: 2007-12-28 15:02
标题: dfgdfg
dfgdfg
作者: liangguojun
时间: 2007-12-29 22:41
小白菜一棵。哈哈o(∩_∩)o...哈哈
作者: 82402383
时间: 2007-12-30 22:34
高深,不明白~~~佩服!
作者: freeboy1979
时间: 2008-2-29 11:20
标题: 好
要研究一下