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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
7 c( X2 i/ b; ~7 O1 k$ B1 O, W8 q. ~9 Y7 M- J
*.asm中9 V6 g/ v$ s& m$ S' M
1. 对ICH9 中register RCBA Root Complex Base Address 填值。
) x% ?/ k" ]+ g, N2 Q1 Y9 l2 F- \2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。4 `) l2 `" a3 D. r
3. 向port80 丢值。  O7 n4 |/ O5 X7 V4 \
*.exe
+ U7 d9 ^, F7 y: ]7 w/ z4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。5 ^$ j' y+ u7 A$ d
*.rom+ j# P% c8 C8 m* I: {
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
! k1 s. P- w  N: @1 Z: s6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
6 i% q' d* d2 m! L& y; w7. 用烧录器烧到ROM中,开机5 M- A# m3 V0 Q9 [. a2 R
~~~~失败~~~~~~
: V7 ?" j3 [" \8 |2 d小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...3 W" C% W1 S9 [& I- q# v
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......& l8 p3 {+ X' P
# D1 Y- O1 G, [/ B. z
COLDBOOT:
+ ?' V$ i' m) X# bCLI
5 Y2 _2 K2 f9 N. s- A) o% c;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1 {$ p6 S( s: k0 v9 |. e: }" O
;; 1. Enable big real mode
: m8 \7 c# h$ k2 \/ w8 [;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5 A6 h) v: o( M7 e..../ D$ E6 ?( d0 g0 J0 P4 C
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7 k9 D3 [7 S+ H2 `
;; 2. Set RCRB base address2 R- K: [& J4 E9 C* b- w! [- N
;; 3. Config ICH9 Register: h# d: g$ j# u3 D7 i/ K( A
;; 4. Out 99h to Port 80h
5 i% G/ C: J+ \. g5 _+ _, [+ P. u;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
/ q5 D7 V0 g8 K! D9 W....
4 k8 o2 t6 |; D9 G/ dmov dx, 0cfch
7 P4 m/ o  }* X1 W, Emov eax,RCRB_BaseAddr+ M2 B  A4 y; {# h3 `6 i$ i
out dx, eax
. g+ r# Z; I% m( }( ^6 M) g* R$ J% F....: D/ o5 o$ v0 y5 }( _) @5 C
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC, M7 v5 h9 X7 L
....
5 o( Y8 X# L; O. }% \fPostCode:
( I+ c5 j6 G; e' v1 p# Q$ vmov al,099h/ N% ?  O  C2 ~3 Z0 z; Z1 B
mov dx,80h/ y' _. {0 O# U" G1 b" t3 i
out dx,al( x: k8 m, Y' n- n# h
jmp fPostCode ;無窮回圈ㄧ直顯示99h
0 V, t$ Y- |3 ]6 v4 T( n: a! b...5 m! q( |6 W* c  c4 N' N$ {+ q
...
: d3 `2 K0 s  A0 E4 mwbinvd ; ...begins here on power up: W7 x# c) A3 C
PUBLIC POWER
+ \2 K4 b* D% IPOWER:9 v. {' s/ P3 e1 U/ `
JMP COLDBOOT ; first jump( l# Q) h  G+ X! L9 W
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-1-18 22:29 , Processed in 0.138880 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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