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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~6 P3 y  g  q- s0 |2 M

' P/ m8 P( b: z*.asm中# b& u- w  B1 G  R
1. 对ICH9 中register RCBA Root Complex Base Address 填值。+ {* n- c6 s4 d; A0 j: O
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。* b( t9 O0 f% R2 h) E" I
3. 向port80 丢值。* L) M2 C, K8 m+ X- W% I
*.exe1 `1 j! v( {6 l' q
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
4 i* U1 I# H0 l" M; P7 X*.rom! x9 a9 A, [. l4 @
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
) b5 ?' H+ D8 n' R6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。( O3 ]" {9 k0 |( P
7. 用烧录器烧到ROM中,开机2 r1 a/ f) z  `! ?! m: o
~~~~失败~~~~~~' b3 n; k3 X/ j0 M/ x' K
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
( {8 D" |/ t9 D( O; @1 b1 qhttp://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
6 G0 d! d5 j+ @: w
9 ^* c7 a# d# eCOLDBOOT:3 \/ F7 z3 h; G3 B1 \) a0 B
CLI6 U4 y0 K1 Q1 t3 W' o% ~. ~( y- J
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8 \3 q/ |: L6 y& H
;; 1. Enable big real mode& u5 d& C% h% l0 t1 \( j2 e
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;: v9 y/ ?" H" P
....
9 ]' |; z/ S- \2 t- a  o# `" Z;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6 T& f3 j- I4 l$ u, l  l;; 2. Set RCRB base address% F" f  H: C# F, m& G( v$ S
;; 3. Config ICH9 Register8 s. N; ^8 M5 x: q' n, {8 ~" Y
;; 4. Out 99h to Port 80h5 D2 I* H3 A3 J8 j1 u
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
, X# J  c5 ]6 u) u1 q, G....
" F8 r. H" ?/ L. ~( ~9 y  Imov dx, 0cfch. x4 \' }& K( R! t1 @2 C
mov eax,RCRB_BaseAddr
' \5 b6 }3 r" p7 [8 {out dx, eax
' B$ s4 g; ^" _1 H. X....- {" c& x5 A7 b& f  {. b
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
( g) D' ]/ c8 f....& l/ L5 H$ q) O0 Z* M0 H
fPostCode:" i3 _/ D8 `" A4 |  f, S  I
mov al,099h
! t/ {/ @* d/ {$ wmov dx,80h, D! I$ ]4 u7 v- B6 w
out dx,al
1 t" ^& r9 O) Y& ujmp fPostCode ;無窮回圈ㄧ直顯示99h
1 B2 ^" z2 l& ]$ Z2 o+ a...' V! p3 H4 z- x: p1 O! l: q
...; M, p* _7 n. {. H; |
wbinvd ; ...begins here on power up  U! t" S- n* r! |+ W" f0 h6 ]
PUBLIC POWER
7 e7 X2 u& v1 Z6 S7 F$ |( `4 u) xPOWER:
( C- J/ z: ?/ g! f8 a5 p3 @JMP COLDBOOT ; first jump! l  T+ N' S/ T; B, r1 c
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, 2025-12-1 02:17 , Processed in 0.076707 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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