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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
# e: u- l7 P- b3 L
) \" u. y+ D9 S*.asm中
5 P6 W7 {1 h- r, p# \+ C* a. M1. 对ICH9 中register RCBA Root Complex Base Address 填值。+ {% u) X' a* [7 [0 Y& A
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
0 v9 l  \5 e" v7 G* R/ u! U3. 向port80 丢值。
3 L5 `" J0 S# G*.exe6 [& o& @) C! u+ ]+ p
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。0 W% }8 t8 E4 Y0 W" Z% Z! `" T
*.rom
* b3 k& \3 i+ ?- w! O7 S  L/ {5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
" r$ ^! y  ]! o( g: y, X6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
% W3 ~3 b. \2 D" O7. 用烧录器烧到ROM中,开机
- o9 g1 G3 [# n* @~~~~失败~~~~~~
; z" A& `( L7 C! S% n9 r1 x小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...9 v, n1 `6 {' E+ M' J& f
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......; a* N) W* l! K. ~7 i

5 ^/ X3 x( v2 s9 ?/ `/ o3 I# S+ rCOLDBOOT:; X. u6 P( `, N' x+ }1 M1 _
CLI& _+ c2 O" q7 \) A" j# ^
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
/ U  L( ?+ X- n# U( X" z! i2 P: Q;; 1. Enable big real mode
4 I9 e) R4 t2 Q1 P' x;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3 @' {  J  P6 e3 p; K..../ D. q& f$ p+ I( N/ ^! i# h
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
) o, {/ O1 G% V# o/ p( t3 m# \' {;; 2. Set RCRB base address
6 N- I. o9 i6 h* f* ?: E* L# ~;; 3. Config ICH9 Register) ~* m! }! G/ C( U; Q  L
;; 4. Out 99h to Port 80h9 @: N' n* D1 [! M: v7 V2 y
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;, k$ G% Q' W2 H3 w# p2 d  Q  z
....
! {0 H3 u; N0 A* U6 j  ~5 L% ^% e% Wmov dx, 0cfch7 H5 p9 \- W* W- Q8 }8 x0 Q' n) F
mov eax,RCRB_BaseAddr) [3 c( t9 B4 w0 s# ]2 E+ J
out dx, eax
! n/ R0 x! f( x7 q! I( F....; [. ~. ?5 ]  h# w$ X) x2 Z
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC# W; D( E; C6 y: b* p7 m. K, c
..../ Z& E/ j+ B1 e2 h% P% M
fPostCode:
. V1 l$ t8 h+ z, G& _mov al,099h
- Z/ |/ @, j( J) v0 Wmov dx,80h6 {) [% ?* v0 s
out dx,al
. u1 `3 {9 r7 V+ `& {jmp fPostCode ;無窮回圈ㄧ直顯示99h6 x' i( L8 Z0 s, P: X% g! }+ {: o
.../ }  t% R4 L( W* ~# l/ p
...
9 }6 P) a& ?% [2 v0 [* T8 Xwbinvd ; ...begins here on power up
( I8 s% ], l5 q- \! m* o1 uPUBLIC POWER7 v) p, Y( i& N" u& b
POWER:
; L; {1 P7 {3 c! M' XJMP COLDBOOT ; first jump) `+ N: N& k/ j) c3 M
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-4 16:29 , Processed in 3.038864 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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