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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
( K( g9 j" R7 q' p' H! v' O: \6 N4 _) M1 ]- S+ w) M4 U0 U3 Q# I
*.asm中
6 |1 [  o& c' |1. 对ICH9 中register RCBA Root Complex Base Address 填值。* o# w/ V* t% ]1 C0 B' a$ I2 p) l" x
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
. }2 P( p* Q/ @3. 向port80 丢值。0 t5 K; M0 M: L; Q* Z3 |
*.exe+ P2 M( H' \$ n2 ]6 T" f, p
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。" u8 A! Z  n! @' F( F
*.rom
* h9 y* g4 J' z* M& }; v) E5. 剩下的代码添加到一个*.rom中,位置是ffff 0000' @& B, m) l- f0 z
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。2 X+ h6 J, b  k  s/ L
7. 用烧录器烧到ROM中,开机
& N$ F% \  f: I" B) t~~~~失败~~~~~~" l" g9 r5 t3 M9 h. @
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
0 V7 o/ C8 M% W* y: mhttp://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
* ^2 y  c" k$ n
' E# Y+ f1 L/ |9 ^COLDBOOT:
# |+ A+ Q8 Z! }' B* dCLI) ?; c/ K, w0 g  q' I
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; e& L( v" M! @! `: p2 S7 E# c;; 1. Enable big real mode
3 e; B2 _) y5 K. v  @% f;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
, W2 W& |; J+ c1 `+ f....
" y- V8 d0 F( d( f0 c9 I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;* }8 ~* f8 @8 i+ F% @: ?& ]
;; 2. Set RCRB base address' }. a) K. s/ @/ r. K0 b: i+ d8 }, }
;; 3. Config ICH9 Register; t2 U- ^& e: R4 V4 T' h4 E0 R
;; 4. Out 99h to Port 80h
* X; B4 T+ r1 \# H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
) N& n4 P: R, j3 y+ Z....- f: L$ o6 Y. P/ E0 H
mov dx, 0cfch
+ y( Z: B) g  |. N% Rmov eax,RCRB_BaseAddr
% c; x+ _* T8 U% }5 t- r7 uout dx, eax; [9 Z- i# _* J8 X; ^
....
3 e* Z, s( D% y+ A" j' Uand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
! y- F% {: |- s3 O5 ?..../ k: W5 n- \" h# i$ j
fPostCode:
$ l, a4 A1 d9 G  s2 V! Wmov al,099h- D: d" d: r6 q
mov dx,80h" Y" ]0 O% a$ X+ P0 P
out dx,al
7 I4 Y! \- D, w5 o0 p: o" Ljmp fPostCode ;無窮回圈ㄧ直顯示99h
% Y1 s. O7 S1 p1 ?+ S1 p/ b...
+ D" l; I9 ?  A/ T+ P..." G4 B, D; B. y- f: G
wbinvd ; ...begins here on power up# o% R2 d2 [9 S6 }# A2 t
PUBLIC POWER/ p0 d# U- l9 g1 [9 c- G
POWER:
7 Z/ v& j$ D( j7 ~) }  V$ x9 T- wJMP COLDBOOT ; first jump
* b! I$ F2 S2 H; u# ^: BDB '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, 2025-6-14 05:01 , Processed in 0.028218 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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