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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
' A2 i: h/ E: F- M) U' p# c1 u( f
*.asm中
6 E, n2 K$ z; _1. 对ICH9 中register RCBA Root Complex Base Address 填值。
& H% S" X( |, I" `8 p9 ~, W2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
7 T) {& c7 T/ y9 M) e3. 向port80 丢值。
% h6 H7 }' ]" I+ E, c# v8 ~: I*.exe
7 ?( S8 ^" U5 T$ e7 N9 E; e4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
7 ]  J: _7 U0 b8 u( l6 ?1 n*.rom0 x0 R0 l5 N! a$ R  x
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000, K- C% z1 m8 N3 `
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
0 |# h) ~: l- \, N* z/ I7 `' [7. 用烧录器烧到ROM中,开机
. [/ N+ g4 }6 y~~~~失败~~~~~~
# d  a; w2 U0 b" |小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
. l. {6 ~8 u/ B% mhttp://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
. q5 A* |$ k, z3 k+ {* v+ e7 t" m7 @2 y4 _  n7 [2 ?  g8 t) Z- X
COLDBOOT:; j+ b9 W9 r) x+ M! ^
CLI! C6 _# o/ _' a; B
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4 m' [9 T8 o- P. M% R
;; 1. Enable big real mode
+ H3 \- l* D% e' x;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ U4 z7 j) S! _- w$ q; y3 t) e; ]
....7 }* U. Z% N! m! f
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4 T8 W, e3 D9 A: Q- C1 m. e;; 2. Set RCRB base address
  k# Z) F1 V3 @! t;; 3. Config ICH9 Register* k7 r* t8 ~0 w0 c/ B
;; 4. Out 99h to Port 80h
9 W' b' ?( q7 I6 \5 I5 l& d7 }4 t;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7 t' m3 p! {' M4 f5 _....
" Z+ E" B: _; M8 ^mov dx, 0cfch: J% ^' _! U5 q! v
mov eax,RCRB_BaseAddr
" r( i4 H4 G, F1 L: G1 k3 qout dx, eax, y5 r, d5 E& O/ L
....& H: H+ F. F! h( h* s5 B3 G0 \
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
1 Q4 b- C5 F$ f3 Q* ?" ?3 r8 h...., z2 _" w# k$ ~, P! G
fPostCode:
# O  Q* ]3 _% d. @3 Kmov al,099h" p) N% M, Q* p. A  ?- S* M. w# v
mov dx,80h' @5 ^. m3 a' Z# F7 N
out dx,al
" n( U3 A+ x: Q( N% l  ~jmp fPostCode ;無窮回圈ㄧ直顯示99h% I5 g! n9 t8 X4 U3 V
...
7 q. M6 ^% P7 U$ t1 a...
) q" n8 I5 J+ a; twbinvd ; ...begins here on power up% g( O+ i* Q# F* w; L/ L2 H
PUBLIC POWER
1 W; |0 H% M0 q& p" C: TPOWER:0 f1 H' Z( x- n9 B
JMP COLDBOOT ; first jump
: D8 ~0 d# T! qDB '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-5-2 10:33 , Processed in 0.031805 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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