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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~" F; E# N! I8 F: W3 C9 \$ Q
' W. B. G4 a8 Y
*.asm中6 l9 |5 A+ V$ ^( t" A
1. 对ICH9 中register RCBA Root Complex Base Address 填值。0 v) A* M" r3 p8 Y# E# M
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。' T, {9 o& j. g; O& P
3. 向port80 丢值。; B% ]4 F% z2 Y" z$ D
*.exe/ c# p% s' H' N# F
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
. E' c3 @5 t+ p2 C*.rom& }  M( O9 \9 T/ }: i- a
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000/ I2 E8 B& l$ H, o, i' R
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。! a6 c9 N' k% f: M1 V; U0 O2 {
7. 用烧录器烧到ROM中,开机
# c, _1 g6 r1 T( o  O! p~~~~失败~~~~~~! E  \& u+ {8 y+ b8 M. [; w/ g
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
3 y* Z, c( O- V& _4 r$ p1 ^http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......+ K9 b! J# ?! p+ u$ I

) V: L: N5 J' h( S: S% W0 FCOLDBOOT:
% r2 a: C# P/ A- iCLI" L: h& F! K; b/ T
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9 E- ^$ a# h& }1 a;; 1. Enable big real mode8 i4 x' p  h8 S2 z0 ^6 x
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
! m, `& A8 ]2 {, z) Z' `* o8 P% [2 _....  U- [% W7 w+ c- B( R9 H" I) q# _/ }
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4 O  g# o$ U' m, i5 C3 t0 j: |7 V
;; 2. Set RCRB base address0 q+ i* L6 z5 ~3 U% K; J
;; 3. Config ICH9 Register# L" r( j  E+ y; A8 O0 v
;; 4. Out 99h to Port 80h; X0 {% e* J5 k( }4 m# h6 [- s
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;. i- @& [- U* c* D7 G6 X9 f
....& w" o. F' Z* s/ k
mov dx, 0cfch
7 @. W! }& \+ P8 K" V+ B  M& i0 pmov eax,RCRB_BaseAddr
! X2 ]1 \. m/ `+ S  c5 vout dx, eax7 _+ o1 x( U7 N5 Y' I" e6 y; o
....
5 s# I2 Q1 B$ y; N$ T' g8 kand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC. p" \. t- q- [1 c3 x$ k. t- q
....
2 [% h) T& m, B. p, x4 MfPostCode:' G, P8 E' X; {3 K/ K: m# R% ^# @, b
mov al,099h
( Y/ A2 j+ u9 J# W2 smov dx,80h
8 ~/ B" M5 H& F* Lout dx,al  ^- A: D% H" A) l. {
jmp fPostCode ;無窮回圈ㄧ直顯示99h1 |" V: \  \7 R0 k# i, C
...! j2 H4 A+ B) H/ g! G3 `
...3 K7 I5 p4 C' ]( y  v$ |
wbinvd ; ...begins here on power up/ I: X( s4 R  D1 t# d
PUBLIC POWER
- n6 Z& y. \( U3 J- c& y: R- yPOWER:, t6 O( X8 T9 b1 U/ v( @
JMP COLDBOOT ; first jump; q; ]# v7 Q0 Q7 ?/ P5 r8 Q
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, 2025-4-29 04:50 , Processed in 0.063184 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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