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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~1 i9 v  O* k$ ]4 o4 Z' K" D1 E

) d' Y' n" A7 Z! e*.asm中
7 o' J# o7 i- w( H# J* [1. 对ICH9 中register RCBA Root Complex Base Address 填值。, ^  j9 `, ^9 M4 P" `( H
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。* [7 g' {4 H3 y3 B" X9 G1 x
3. 向port80 丢值。3 j8 s+ G0 U" T, f! X2 W; n+ ^4 q  x
*.exe
* y) {. _  U6 P( B8 B3 |4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。. m" c' T9 ^8 W" g8 t1 s
*.rom
# F8 v, h  t5 m5 |' {; m5 }5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
9 c1 O. ?. p! e( @3 P6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。' ^- ^3 y; Y. c0 p; q% [/ n' b, _# r
7. 用烧录器烧到ROM中,开机* N. ^; \: a5 i
~~~~失败~~~~~~
6 G) p0 i5 v0 h小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...; s) l$ o2 m. ^+ b7 K9 x
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......, `* g- e0 j1 }+ f  _
5 h# j5 s8 N5 G8 w' F# s* x
COLDBOOT:: y6 w& o# y! `( S0 ^& T
CLI
; F7 ~# Y$ z6 A! q: S5 `;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
/ C1 D3 E5 n/ U: n% l. {% G- |' `( w0 a;; 1. Enable big real mode7 E9 z6 b' d" a* J' v
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;, e. n1 ~% L7 @! i+ O
....
. Q( h: b* n# H8 @7 f! D/ I5 ?$ v;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;- u/ ~8 }0 g+ ?0 I& L: V" L! Q  R
;; 2. Set RCRB base address/ w3 K- p$ u1 n3 D
;; 3. Config ICH9 Register
- p) g2 n, z9 }- t5 T;; 4. Out 99h to Port 80h& F  z2 y2 _* O6 O, C
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1 v% Y6 n% F# N( P7 c
....' y  |; g0 H6 X4 Y; a% K
mov dx, 0cfch
/ f" G' ~# J  amov eax,RCRB_BaseAddr
5 `6 g5 o6 s5 gout dx, eax9 A$ z  O$ z9 f9 X
....5 u4 q* m% l, v
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
! O% I, w7 W1 x....9 A, Z/ B- C" r' s0 w+ G
fPostCode:
- x) n; |4 ~8 v4 j+ x) Qmov al,099h0 w) ~* t, ?7 R! u  N9 A: Y
mov dx,80h
/ A6 H7 g$ `+ V( c% f! {8 d) g6 pout dx,al
5 _! Z( j6 l$ s0 }3 y8 zjmp fPostCode ;無窮回圈ㄧ直顯示99h
9 d, r' x$ V1 n1 ?# l# k...
; X7 F1 s1 K: w7 L* Z5 Q. X+ x- W...( ~( l# d* k+ B+ V3 z8 v
wbinvd ; ...begins here on power up
) ]: D6 U/ y4 X0 bPUBLIC POWER/ ]  C$ k4 p' Z6 w% k
POWER:0 v' |4 _/ m1 Z+ ]. S
JMP COLDBOOT ; first jump) O( i& o% n  |- F0 r7 y: `
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-5-16 07:34 , Processed in 0.158088 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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