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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~1 ~4 u4 B* @5 Y% ?% O; a: g: N9 S
, L' r8 @' e5 {: Q$ ]
*.asm中
; r9 ^5 e) v- {: f" S7 O7 G1 M1. 对ICH9 中register RCBA Root Complex Base Address 填值。4 [1 s' R7 E3 b6 |/ ~5 Z
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。, L; y2 T$ ?% {( q1 u8 S$ r6 J% z
3. 向port80 丢值。
, Z- V8 O5 n. H( i  [*.exe
) C- ~: ]  \* E$ I4 I0 P! K4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
- S3 D. e: u% N+ n3 L*.rom7 Z/ [* R( K$ i2 C1 @, t4 @
5. 剩下的代码添加到一个*.rom中,位置是ffff 00003 X' m( ~4 l4 a
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
3 ?+ `4 u* W+ @3 O( _7. 用烧录器烧到ROM中,开机0 a7 O  |9 P. u6 l- O( S
~~~~失败~~~~~~
, j3 K" b4 J. z* W小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...- j6 Y! S) y7 v. X9 i( S/ k
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......* h: K, [4 C0 a" s* w$ u; S$ ?' l5 G

( Y7 I( _: g# w! aCOLDBOOT:2 O" m3 S; h7 w5 ]! d( w" f. A4 ?5 \
CLI
( J0 I8 ]1 b" m8 n0 E; @;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$ [" n% e) F3 J* H( G;; 1. Enable big real mode8 x/ ^0 [/ g6 }7 t- i  q1 ^0 H( a
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
# d2 W1 B" E0 C....
  c2 O6 q. s9 q  N6 n2 @! d;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;! f$ m1 L! v3 ~3 ~
;; 2. Set RCRB base address
0 {% Y# Z7 w: S6 @7 I9 x; y" o;; 3. Config ICH9 Register9 J% `) @/ t6 C: Z% `* J# b
;; 4. Out 99h to Port 80h+ T& L* z* Z" x, d: X1 |$ b& q0 s. S- \- O
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9 k- e9 M9 Z5 a....* U+ ~$ @6 x& J  }& b# _4 o
mov dx, 0cfch0 V; f7 D( v  Y, a' }* e0 b! F
mov eax,RCRB_BaseAddr
$ k  B' X+ R. [" U/ C. Oout dx, eax9 M1 H5 Y7 J, A9 R
....8 B8 e/ Q' z6 w6 _$ A0 x! b9 M7 a
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC6 d/ x$ u' x0 D$ v2 U
..../ w/ r$ h/ M4 k& `3 _0 r" q( v! t
fPostCode:
+ c! w. V8 q5 ~mov al,099h
/ {0 L4 O1 j# @6 y8 xmov dx,80h
& Y! u. I: Y6 {0 bout dx,al
$ y% d7 V3 _9 d( S* V: x, S8 Y& \9 _jmp fPostCode ;無窮回圈ㄧ直顯示99h
' k) r; e, W, g, |! [  C...
, _2 [0 H6 z( |) j...4 A; v5 {  A3 J; \# o
wbinvd ; ...begins here on power up$ U5 A5 i* _4 ^! [2 b2 L6 l
PUBLIC POWER
. Q* w+ |' }1 V" NPOWER:
6 |+ c7 ~& v5 Y! E/ {* o: s$ fJMP COLDBOOT ; first jump
) q9 X, N2 B3 O: n3 [1 M% ?$ w* FDB '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-17 15:03 , Processed in 0.077465 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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