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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
0 M3 V' }+ m* _# J& r- F8 G# a2 u" z" z. k/ j
*.asm中
2 G; C0 T3 [0 y, v7 r4 C: {* p1. 对ICH9 中register RCBA Root Complex Base Address 填值。1 C3 l4 f. L5 B8 U; R( i( J
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。# u7 ?! a$ ?2 e, k2 i5 Z$ M& E
3. 向port80 丢值。
3 V& L8 }$ S, ?- y*.exe
1 U3 `3 R. s! k  _  ]* W, T4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
! g  |, F$ g8 ^+ j- u( Y+ I*.rom4 V6 G3 b1 }# w5 }3 S3 M
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
3 ?9 L8 V0 o# T! N0 x5 ^6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。: a; Y2 G# d3 _! b# v
7. 用烧录器烧到ROM中,开机
9 K8 e6 G. t. x0 n, f# m$ U4 s- `3 F2 x~~~~失败~~~~~~8 J. B# z, t6 |; T) x2 U& b( j
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...3 ]. x' f0 F6 K6 P
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......+ R( t0 c) c5 t- r# v

# \3 M6 s3 I" [7 T# aCOLDBOOT:
7 n2 o$ C0 O; t% i, cCLI: {) \1 q& U; J6 R( p4 t2 K2 N
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7 ?" o/ j9 U" a$ G7 t7 J+ h" C! D0 d;; 1. Enable big real mode
, ^4 a, B( J' p$ F/ X$ v- u;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ P0 Q! w4 \, j% w: Y....
5 [0 i6 V/ V' |) R, N;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;, r0 u) I+ ^  i
;; 2. Set RCRB base address
, p5 b* X8 f9 O1 T$ Z( }& j1 X; G;; 3. Config ICH9 Register
* v% ^. a* I) c7 x;; 4. Out 99h to Port 80h/ f0 n% ~# |9 z8 d, \; B
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
# T. d8 W2 I3 U) N" d9 ?....2 b$ E5 ]* X  [9 \
mov dx, 0cfch
# A7 ^; n# [% e) \$ q/ smov eax,RCRB_BaseAddr
4 y" ~! e( l& vout dx, eax
6 H2 R4 k4 O/ t4 Q, r....* O, g& K- P( _9 n# b' W
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC9 V8 J6 N# W( S/ M7 N/ S6 E5 `. z
....
0 A* U; F* c6 b  vfPostCode:
' l3 m6 Z/ b$ C* i% W; ^) Hmov al,099h
/ n0 Y6 p6 b. n: G8 Lmov dx,80h
4 u$ Z4 o2 K* F5 Oout dx,al: U; f7 l' V% {& C
jmp fPostCode ;無窮回圈ㄧ直顯示99h+ @; t: b* y" W% x7 O0 W* k( C6 X" H' R) E
...6 c. q! X" p! K- Y
...+ @! M1 z' v/ ]7 M
wbinvd ; ...begins here on power up7 l1 \7 M" Q. i! T$ c) \, \
PUBLIC POWER3 Z8 x  i, R6 o% n( o
POWER:
1 Q; Z1 R' N1 T9 q! f! j1 A. {' KJMP COLDBOOT ; first jump
  I# G1 V: a9 a1 r/ s6 W5 @$ s" p5 H& b7 c# wDB '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-4-25 02:04 , Processed in 3.795858 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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