找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 9802|回复: 4

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
8 V7 [) o1 b, U5 O+ D( h0 s9 _1 f
; M: k- W! Y/ y2 q& }*.asm中
, _& T3 N! c- O0 Z  b1 z5 _. B8 n1. 对ICH9 中register RCBA Root Complex Base Address 填值。/ A! f  h* ~6 n& ^
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。6 U0 o: K6 x/ v' r# _; i- t
3. 向port80 丢值。$ f( a( a# i8 w. q4 a/ x- F
*.exe
7 {7 y4 Y2 t. H/ y& ]: ~( q4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
  ^1 s; p4 v; ^2 z# F*.rom$ N; _/ O- I& @: f
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000( g3 A& i# o+ k" M* D
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
* ?7 [& M0 i+ s  ?1 M2 C7. 用烧录器烧到ROM中,开机  e1 k# F, j. O8 ?, A
~~~~失败~~~~~~
8 [1 n; C5 o8 k" I小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...4 t' \/ J0 Q( N9 o) @# O
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......! |* D+ w* P! |- g% y

$ Y5 |- V# k+ j# r  PCOLDBOOT:) L/ l4 C8 R5 Y0 k9 I  K
CLI2 f, u) ?( `$ \: _, N, |0 w
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;, w2 }; H) r; h. \$ M7 f! M
;; 1. Enable big real mode+ Q' A! f8 S  C9 [" W! w
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4 Q2 W, N) c  ?$ K' V5 Y/ T& g( H- O....
! ^! p* `( z9 O9 M. }+ _;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ i. L( \$ A% w% c6 K6 s;; 2. Set RCRB base address0 d  h/ N. B1 T$ Z9 b' Y* X
;; 3. Config ICH9 Register
4 X( h' {, K! m1 {2 w;; 4. Out 99h to Port 80h% R# }* z/ ^( m) J' f
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0 b6 g1 N8 R8 k: F3 j- |....' b* `6 [1 G# \9 W5 P+ @- R
mov dx, 0cfch
( o2 H* J% t- n% ]4 {5 fmov eax,RCRB_BaseAddr0 M  B" c0 r4 B
out dx, eax
# y3 p: ^5 D2 _6 R1 {....
: B* r' g8 y" G$ d4 O: i$ {and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
7 R0 ?' d4 e, l3 f# v" w, A....
  `- |2 k$ n, E( W. v8 b  \, NfPostCode:  U& w+ \, t# a5 Y) ?( p( Q8 ~  S
mov al,099h
& T7 }" M+ y7 N; H# wmov dx,80h& g. e( P: [2 W6 x
out dx,al$ _% D) e. ]5 ^/ `+ `% k* `
jmp fPostCode ;無窮回圈ㄧ直顯示99h
, f1 G3 x& t1 ]: }. H& |' s5 t# X' `...3 i8 {# G! \4 ?1 ~* x5 M6 q
...
- D# Z- C) Q  a8 Y7 m  Fwbinvd ; ...begins here on power up5 M: c* v0 X1 {+ s- y" y+ \
PUBLIC POWER% k: P* T* ~' m* \. Z/ X, u/ |
POWER:4 a6 h  z) S) C% A& q, E
JMP COLDBOOT ; first jump
. g/ T. H6 T! `, }% s" XDB '11/14/07',00,00,00 ; My release marker
回复

使用道具 举报

 楼主| 发表于 2008-7-8 19:11:54 | 显示全部楼层
其实我就是看了上面的文章才开始做的哈~~~~~~但没成功~!不知道各位大侠是否有成功~??
回复

使用道具 举报

发表于 2008-7-9 23:36:17 | 显示全部楼层
不知道可不可以把弄好的rom文件传来看看?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2025-12-1 08:37 , Processed in 0.501387 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表