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

关于port80的问题~

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

' @$ D$ s" k% k  t$ b/ l" T5 l*.asm中% ^8 r6 C5 s. G9 b6 P- ?
1. 对ICH9 中register RCBA Root Complex Base Address 填值。+ z5 }+ }3 r$ U7 l* s
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
/ F, T# l; |5 y3 O4 N' z3. 向port80 丢值。
1 o6 @) D3 S4 T4 B, n) b*.exe4 B/ N8 n  e8 M& F4 @# Z  k' M4 d
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
" h/ z0 v1 a4 c9 u! n*.rom6 l* P. H8 ]* v4 K
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
" M" E# N: Q( @" D5 c6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
* [. q6 U' l; m/ b/ y7. 用烧录器烧到ROM中,开机
5 k, X( }; W7 V~~~~失败~~~~~~
0 U( ^$ [+ O2 V$ E! h0 `9 X小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
8 e( Y/ Y2 |8 ?3 n9 ?http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......+ m6 w% j$ y* S$ L" k- i

3 B) x& i& T# o- q9 w& l9 a* aCOLDBOOT:
2 D9 F0 M9 @7 r: P4 m. k' ACLI  u9 m1 p3 |* S; l( u( z* `. Y8 |+ ~: s
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;! ^2 G5 C" K# ~
;; 1. Enable big real mode
: K4 A3 x- O# z# a; n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;, ?" y+ h$ p" ^2 g4 Z8 P& M
....9 _; h0 w4 v# \3 G. _1 Q2 `
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5 h. i* u2 U5 v" L# x& W4 b  Y
;; 2. Set RCRB base address
- f: L- D/ p! G# Z  }0 a;; 3. Config ICH9 Register
0 W8 E' k" B1 _' j! I$ k( C' @;; 4. Out 99h to Port 80h
& X8 a- F5 H1 }, _4 G8 ?;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 N' ?5 H- U! Y' H3 x# a6 [....
- f/ s$ |& u6 ?' f+ y% {) s7 |mov dx, 0cfch) _: t( k/ y/ }& h$ n: g2 X- g  V
mov eax,RCRB_BaseAddr: S& o' i. L# S( z
out dx, eax
  N) S  \+ y9 \....
, S: ^$ K6 @- h0 }and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
. i5 i9 E2 P- ]; B....
+ o5 u. G7 N* S! ?; d' J4 ]4 u: PfPostCode:* C/ R( }0 g# V+ ]9 ]
mov al,099h
0 B2 K! j5 e& j# Q# g" u% E. Tmov dx,80h
! m/ V) h: g6 f) |" b* ^out dx,al
& C$ `! Y7 h7 ojmp fPostCode ;無窮回圈ㄧ直顯示99h
# L" q# T" i" ]) S8 z& Q' O...1 G) E# U6 q2 ^& w; T
...5 C* s0 g3 r" R4 H6 U1 q
wbinvd ; ...begins here on power up2 w+ n- V) D$ M
PUBLIC POWER, S8 k8 W- @$ g6 _* A
POWER:1 C9 J2 D: }" M+ u- R3 V* d
JMP COLDBOOT ; first jump) i1 W1 [8 ]5 D3 U6 ~
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-7-19 19:08 , Processed in 0.261792 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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