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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~+ H/ b( X  r" L' q. n2 b- j; j. u- g

2 q; h% x: ?6 s+ s3 S*.asm中$ K5 U; g# O3 e( o2 @
1. 对ICH9 中register RCBA Root Complex Base Address 填值。. H. R# r3 S. |0 `
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
9 n. q2 B2 l7 I7 k5 L8 J9 g3. 向port80 丢值。
( `$ J- D- f3 C# w4 g*.exe
) i2 m" a6 m: |5 `. S4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
0 m& f# u  e, y! Q$ W- x*.rom
) r+ e0 P2 B$ m5. 剩下的代码添加到一个*.rom中,位置是ffff 0000. i3 h$ A9 N/ Q8 y/ U4 S$ k
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。2 e1 `. X" u- ^+ O# k
7. 用烧录器烧到ROM中,开机( Z* @- n5 M8 K9 e/ `
~~~~失败~~~~~~
, Y  G3 f& U9 b) V: _小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...7 m1 \: r$ _+ g( e# ^
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......# `* f/ ^. l0 D7 M& w

0 i8 {) w& `" y9 P9 q& t; T; PCOLDBOOT:4 q, }. Z# B: Y$ I' F
CLI  i2 }2 H/ d9 s5 ~9 d0 O
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;: K5 b6 t9 z9 {! n6 d5 W( \6 f& G3 Z
;; 1. Enable big real mode& Q, |- g' [6 |6 m' C
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5 I% j- y. }# |6 P! o3 y$ K
....
) Q( z* E: {6 \2 Q9 e* e4 M- Y;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6 M1 u& [' j7 t$ v' s2 Y
;; 2. Set RCRB base address3 E) X3 ?3 \: n: Z' ]4 R
;; 3. Config ICH9 Register
* q1 H4 i( n& o% T;; 4. Out 99h to Port 80h
4 O" F3 j2 a3 [( D* I3 E- M2 ?;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;) [/ C# Y  E/ ]% F
....
8 g  q  {7 {! q- T0 b8 R1 Wmov dx, 0cfch
: `. ^9 G1 b4 ~& N9 umov eax,RCRB_BaseAddr
3 a' T0 Y$ V( `( f0 E1 xout dx, eax' c/ ~8 c! [. s
....
0 Q" S+ a' _1 band BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC1 P0 T+ t) W$ w$ x7 P9 B
....3 c% \/ A& ]1 L
fPostCode:9 q: |+ w7 v: P/ J; R
mov al,099h
# Q5 {% ~$ l* d1 `; P) `, d; i: ymov dx,80h
* x4 C, F' Z, ?. s6 Iout dx,al  @  b* t4 _4 l2 w" U4 W
jmp fPostCode ;無窮回圈ㄧ直顯示99h* L. c5 t8 n2 M2 D- d/ o
...
' P) i* \- J. S...6 y4 n5 K* H3 X' Z: E. D; c: |$ p
wbinvd ; ...begins here on power up2 d# a6 F& J7 n
PUBLIC POWER! x, {# q$ `5 D! y5 @
POWER:0 G; q" |7 S& a5 i5 U& @' M: k+ p
JMP COLDBOOT ; first jump5 C/ y* _+ Y& P: S' f
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-2-1 12:04 , Processed in 0.160106 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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