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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~4 r, y3 E* y5 l3 w  [( ~) H  A
# V8 k2 ]! g# ]% [
*.asm中; N# @( T5 ^/ }
1. 对ICH9 中register RCBA Root Complex Base Address 填值。
  H9 i5 q' c/ O% m! D6 a) ?" {2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
0 s" f. p5 O, T5 ^* \& C# W3. 向port80 丢值。" _$ ~0 c. s. C
*.exe
* @/ o, r8 O$ l7 ?3 T! x3 \4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。# j5 Y6 k5 m9 K" G3 L, B: w
*.rom' Q+ J7 s& [) g
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
- j1 e, H& v3 `9 P# f1 q$ o6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
9 [9 @4 q. D& U% _7. 用烧录器烧到ROM中,开机& E: x2 C6 c! V: y/ X+ X
~~~~失败~~~~~~. l) r4 X$ c& D+ y6 ]5 _
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
* o' U6 D3 b! W) a5 j7 j, Zhttp://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......- z2 i2 B9 J( w1 M/ j8 ]

; E4 n3 `+ f; P5 ~) y; GCOLDBOOT:
' v8 V# v; |& m9 NCLI/ S0 ?- f  s9 i) \. H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3 f. X" X- I( U+ g2 x6 X1 o0 \; c6 v4 w
;; 1. Enable big real mode" w& }  N7 u+ [; V* x
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
( s, j  i& @  D2 M- r: y3 F....
9 ?8 |" ~# `0 d) {4 k8 L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
! H1 W1 F6 b$ H;; 2. Set RCRB base address
  S4 K, b; V$ x- h+ e;; 3. Config ICH9 Register
  `5 W$ X; |" d, E5 ?8 |5 p6 i3 T;; 4. Out 99h to Port 80h
' _3 n: d$ C  B7 E% F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;. g2 C% R8 G& b1 x
....  m8 P% h: P% e" E
mov dx, 0cfch
, Q8 z% m' s% ~( Y" `6 cmov eax,RCRB_BaseAddr
+ X" u8 f; T/ o" O$ Sout dx, eax$ O, W, @$ v* q8 t+ W2 r2 x2 B
....9 e$ e# U, n: J8 K0 C
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC5 S$ J/ o! ]9 x+ o6 q. F
....
! _+ r" P9 J: V9 FfPostCode:
5 r- W$ T5 v% q. v% J, n3 a) Vmov al,099h
- |; K8 W; f2 K. T# V& Cmov dx,80h
" f/ B  r: }1 H: ^! D# J- u& `0 Wout dx,al( O, j' Q$ ?, I* C3 ]$ Y4 k
jmp fPostCode ;無窮回圈ㄧ直顯示99h
% N0 p) \! X% m" ~1 u: {1 `...
- j- V0 Q/ w, c$ l...! z: H: g/ V9 @2 \. s6 z
wbinvd ; ...begins here on power up
" i  J' v; r. R0 d( P7 W* _PUBLIC POWER, O- M( F! h' J, W
POWER:
, l: `0 T! R0 j- OJMP COLDBOOT ; first jump
# A) H0 W# I$ t8 R$ sDB '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-9-21 21:54 , Processed in 0.082316 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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