版块
论坛
喜欢
话题
应用
搜索
登录
注册
jerry_yang的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=36502
有没有谁对bios编过程序?
model tiny.386code segment assume cs:code,ds:codestart: signature db 55H,0AAH comlength db 01H jmp near ptr begin0 ;the le...
全文
回复
(
8
)
2004-06-23 16:22
来自版块 -
内核编程
◆
◆
表情
告诉我的粉丝
提 交
jyc_1
:
bios的高手们: 请教大家一个问题,好像bios有电源管理设置,其中是否有 硬盘停转的设置,不知代码中是怎样实现的,是不是向硬盘发送ATA命令阿!多谢!
(2004-06-30 16:23)
回复
jerry_yang
:
从理论的角度来说,是不可能的,但是isa rom的执行在配置可启动设备之前,所以你应该可以在配置之前做点什么。 你试试下面这个程序,我试过,好像是执行硬盘检测之后。 code segment assume cs:code,ds:code start: ...
(2004-06-28 13:33)
回复
SunMing.Cai
:
请教一下,如果我想做一个BIOS ROM代码,让它在扫描IDE磁盘之前就加载,这样可能吗? jerry_yang,在你的加载顺序中,那一步是bios检测ide硬盘呀? 我想bios在检测ide硬盘之前,先向 ide硬盘发送特别的初始化用的ide command. 这样有可能吗...
(2004-06-27 00:09)
回复
changjt
:
既然产生了打印信息,int19肯定是hook成功的。 我用我的调试卡帮你跟了跟,发现确实是由于系统int19向量没有被正确还原造成的。应该在你主程序开头加上 mov ax,cs mov ds,ax 就没问题了。 附件是我重新编译的bin文件,你可以试试。
(2004-06-24 19:35)
回复
terrychen
:
pop ds pop es popa int 19H iret 我感觉这里有问题 晕倒,int 19不就是reboot system么?
(2004-06-24 17:09)
回复
jerry_yang
:
谢谢楼上的二位,我这段程序的目的是对系统bios 19H中断做一个钩子,先打印一段话,再调用原来的中断。我看了看 pnp bios specification,bios的初始化顺序为: Step 1 Disable all configurable devices Step ...
(2004-06-24 13:30)
回复
changjt
:
看不出程序有什么问题。 既然屏幕已经显示出打印信息了,按了F1键应该就可以引导OS了呀 实在不行你就用直接跳转代替int19试试看 另外在链接的时候可以直接加/tiny参数,就省得再用exe2bin了
(2004-06-23 19:50)
回复
terrychen
:
我写过bios也看不懂啊,大概说说你要干啥 55AA你也没有check过啊
(2004-06-23 16:30)
回复
jerry_yang
加关注
写私信
0
关注
0
粉丝
91
帖子
返回顶部