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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
" K6 _7 {% E+ c, I4 Z: V% D  W
5 c' p9 j" d; L; s*.asm中& j3 T+ Z  `+ X) S
1. 对ICH9 中register RCBA Root Complex Base Address 填值。
7 R" v: W- v  ]( o6 j; N2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。. @7 b8 G; \) x& @3 d0 {' ~0 n
3. 向port80 丢值。4 |' d0 @. Y0 ]6 X3 v: W
*.exe$ S1 J% P4 ]; _$ b
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。2 d1 w: h& U7 O
*.rom
0 y' ]5 k, D' O9 [# ?  z: @4 ?! p9 V5. 剩下的代码添加到一个*.rom中,位置是ffff 0000: {; ?. X* T2 V  {- }  e# x8 F7 K
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
8 `% Y* Y& d! I' E+ d8 U7. 用烧录器烧到ROM中,开机
0 L8 s* D1 a, f" P~~~~失败~~~~~~  t! _+ ~" [( Z
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
2 I. R! }( ^% O& vhttp://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......1 [) l8 t/ h1 f& D

+ \& p0 g& F8 GCOLDBOOT:
- @) `: p! z- JCLI1 u) p) Z8 L$ J7 [4 D& i+ q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- y/ n  e2 e  E, W;; 1. Enable big real mode
+ ^: T( x1 w( M;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3 h4 P- ]. L. O& G7 n8 E....
3 s% V- u' y7 i* n( _# }+ I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9 U; R: d3 F  c+ n2 ?/ \% G
;; 2. Set RCRB base address
& E" [# X, c5 s) K* C; Q;; 3. Config ICH9 Register
% Q' q8 x. A' N, }) ?- a;; 4. Out 99h to Port 80h
! K3 y5 l$ `1 I$ t7 Y, x$ p2 @;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  t% w6 c2 T4 a! }# W* O....
, X9 N. ?4 c# i8 I8 n& c( Tmov dx, 0cfch
6 S' R6 Z4 A0 I0 fmov eax,RCRB_BaseAddr
6 M/ T4 f! _$ Z5 G  _: o9 l3 _3 Yout dx, eax
- r, H) s7 ~  t( C4 o& v  {....  o! k% \# o) g' w/ H# L5 n
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
1 L* \& [6 x" B7 {....
* W6 m! W" d; t, X: efPostCode:) |$ p" c7 R. Z0 C: i
mov al,099h" x( y5 q1 G1 o, b  o$ O
mov dx,80h9 c( N" W: G, f6 V, ?3 X
out dx,al6 z, F3 n: S) Q0 N, w5 q" h* D
jmp fPostCode ;無窮回圈ㄧ直顯示99h$ c! M5 z* s% G
...
9 W- p( \4 N1 `: s7 o...
2 e/ ~# d9 l( s2 \, e( e% Bwbinvd ; ...begins here on power up: _' |6 q2 ?; S- ~( u
PUBLIC POWER) k1 J* i9 R2 S) R
POWER:
: ]2 H* F/ o- a3 ZJMP COLDBOOT ; first jump2 K4 T4 X3 O8 n# c# J  ]
DB '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, 2026-4-20 03:38 , Processed in 0.112219 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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