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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
5 D9 ~( y6 ?1 z: N+ N
- e. j; G9 Y! m% i4 ^5 k*.asm中4 O4 a1 F/ t% p
1. 对ICH9 中register RCBA Root Complex Base Address 填值。
1 l9 L: y( B0 d( v2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。  A0 p- z, x# n3 H
3. 向port80 丢值。7 C1 e) `; V0 G  }1 @
*.exe: y) N* M3 k- o5 u
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
6 g3 x1 T0 X8 p8 s  r*.rom
- u1 G8 d6 P- Z# a4 s7 Z5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
) q( q) n* E/ ]* X$ r$ X" }- e6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。$ T( f9 m5 @+ d- }: t
7. 用烧录器烧到ROM中,开机! W$ X1 d3 @7 H% [6 G
~~~~失败~~~~~~3 {$ H0 k/ j) W$ I
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...8 U3 m6 N* Y7 s
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......( r+ K2 d1 Y" V

/ ?9 T) v; X. e( ~COLDBOOT:
0 u8 |+ @1 r/ m! B8 F* h* @* Y: l+ oCLI( ^2 ]' _, q& O7 d# x
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 N! y# t2 J! A; ];; 1. Enable big real mode8 Y. K; ^$ r1 i. g4 Z3 p3 f
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;( \0 u+ [9 U: f
....( O5 N2 ]9 s  }, P
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7 ?5 t' v# F& T% I! u( {# L( ?
;; 2. Set RCRB base address
2 f& H) ^5 h5 u; H;; 3. Config ICH9 Register$ P( g: n0 G+ R9 N
;; 4. Out 99h to Port 80h
: f6 j/ J2 O: z$ z  t; {! r;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;, f# f8 `- U: ~3 I4 o" D! \
....; _; x+ B8 _2 }* K" I
mov dx, 0cfch9 u" s# B- n9 X2 c
mov eax,RCRB_BaseAddr
  x* j3 }' `/ t8 Sout dx, eax
& J  A1 W* x  g6 C8 S9 K....
* a) c, C: z1 y* e) Z' V* g- oand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC: s$ J; }% h0 W6 }, I; x5 R0 \7 h
....% F9 w0 |  I  {0 q7 X/ a
fPostCode:
4 d. W' I* @/ F# G% dmov al,099h8 [5 `/ X2 M! Q' ~
mov dx,80h# V! J" C9 D$ c
out dx,al8 t4 V' b" L5 f, v8 a: |: N$ v# M, T( R
jmp fPostCode ;無窮回圈ㄧ直顯示99h
* r0 h: m% H9 W+ [8 t0 V...0 ^  J( J" M! l6 v2 I  ^4 Z$ t
...9 ?9 f0 }& f5 r" S
wbinvd ; ...begins here on power up2 f% u+ g  z) z0 \1 G
PUBLIC POWER. R8 \& }% w' d3 k
POWER:6 C6 Q4 e6 ]  b6 C% P2 P. f
JMP COLDBOOT ; first jump8 p4 Z3 X0 X4 d0 H  _6 a' m
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-3-5 15:55 , Processed in 0.120135 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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