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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
8 V' ~8 ^  ]  h' o+ R# D, S) d, S* N: `7 k
*.asm中
! T  \0 j  m! L) k9 N& V* T1. 对ICH9 中register RCBA Root Complex Base Address 填值。
+ ^+ b3 {0 l; {4 `6 O2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。  r% X, e* }4 a, P% w( D9 Q% G
3. 向port80 丢值。8 t( U8 h0 C/ P
*.exe
8 R! Q1 G8 _4 `4 I4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
+ s  O; |8 Z9 W! t. P+ ]9 L# S*.rom9 ~5 I$ Q/ T( H8 D. \8 P, N( O. S
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000: b% ~2 l6 U! E0 o% ~* G
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。0 B7 D3 ^5 N5 n- ?7 ?
7. 用烧录器烧到ROM中,开机+ w: B3 m- k8 m  I( X1 Z
~~~~失败~~~~~~% S4 }# O/ _& T9 H% g
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
4 ~, Y! m" q; q) @http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
# ]7 l- y3 H$ p* T- v  d) D* Y/ n# i
COLDBOOT:; ?$ Y* |/ e0 B7 m
CLI4 `: k% i0 ]9 t2 X' w/ g
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3 U1 h4 v$ r7 a& B/ E;; 1. Enable big real mode
( C) T/ M9 b, C9 [9 h9 Y! N" n& I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;. @! `) k+ E# t. R8 E
....: t$ z, R! @8 N. }" T
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/ k- B) Y: G3 h2 ]
;; 2. Set RCRB base address
% M% l2 m5 w/ e+ B8 C$ p;; 3. Config ICH9 Register
2 x( T4 D+ s& m4 _) Q0 W1 U;; 4. Out 99h to Port 80h
2 \& ?# X. L% M: d1 o* \& W;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; p8 B; i4 m2 j" l8 a
....
, A6 Y5 g; E! t6 A5 n2 Fmov dx, 0cfch
7 `( `7 N0 n5 `& H2 K; {' Z6 \9 r- p$ mmov eax,RCRB_BaseAddr* a; C* Z- @% t  V4 O. Z1 M
out dx, eax
1 y/ f9 j6 Q- U7 _1 _% w....
/ c2 }: r* }6 @+ [9 b' G- ^and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC9 ~) L) h1 b- C( y# y+ u* C
....- |8 }$ ^* z- |& V- {# x9 `
fPostCode:
( m" n9 _# C5 T$ i8 ]mov al,099h
# x, {# N# l5 E# y2 g+ i" Z/ [0 omov dx,80h
/ `$ }: b3 ~  \; Lout dx,al
4 n+ d8 X: @1 Sjmp fPostCode ;無窮回圈ㄧ直顯示99h
* Q# }, e* A7 Z5 E* r+ X1 m7 n...
- L3 Z+ K% c5 h8 H. j...
0 e7 x! q: j  e' ^2 nwbinvd ; ...begins here on power up' k% r7 m0 l/ q& Y9 z
PUBLIC POWER; C5 K! o0 s4 C9 y, w
POWER:
0 |- k9 C' t& q# YJMP COLDBOOT ; first jump8 i8 }5 S7 h. |. 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-3-5 17:38 , Processed in 0.103575 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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