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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
6 G& ]: l8 N  Q7 p5 T
8 Q6 N' S7 \. r2 y5 ~*.asm中
2 C* X7 A8 {* F# K1. 对ICH9 中register RCBA Root Complex Base Address 填值。
. D5 M* R/ P- t6 R2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。! S+ a2 y# b. ]5 x. y7 d
3. 向port80 丢值。: s" j1 H2 k: |0 C
*.exe
! j* L( d' w+ }: h1 @4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
  Q* r1 P5 r# w* @0 [4 Z*.rom
4 B( K2 x7 E3 r4 X" T. M5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
7 G/ D5 ?' l4 w0 d' ?' Y- H- W6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。2 A$ p# D. w, y7 h% g# k" N
7. 用烧录器烧到ROM中,开机
* Y1 ^5 a, k+ B2 E* _~~~~失败~~~~~~; \, t2 J8 O' b  _) A6 t
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...$ w* a" ^( R& @. {0 u
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
% a" @+ L9 v  l& F; [& a  x! v5 \# e$ V' V8 a) F
COLDBOOT:3 ~* d( w1 T3 n5 N! f% i( t- O5 T
CLI5 X5 J' {; C: T1 M$ @" ]7 I( f2 R
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3 T$ ]' x6 k. S) a6 Q6 [+ p
;; 1. Enable big real mode
  z8 x- S1 \6 j1 O2 H) Z" O5 Z;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5 l, ]$ S8 E' e/ n9 w- u! ], V2 Z
....* n, b/ B9 h3 @7 B, B
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$ Z+ k# j4 N& J3 k;; 2. Set RCRB base address
: N9 k. h" O( i  ?. d' c;; 3. Config ICH9 Register4 t$ @4 i% Q7 }+ Z
;; 4. Out 99h to Port 80h  h/ T# D3 Y3 h3 e0 V2 w
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
) p$ Y3 q% H+ y' h. h2 ]' q....: q9 B3 S0 v7 K
mov dx, 0cfch
2 t! q+ ^" R; L  Zmov eax,RCRB_BaseAddr
6 ^( c1 P5 q6 ~# X4 `1 Iout dx, eax
' ~% [& i1 F5 m5 W; k& r& @....
  V" B4 s; y9 i; Pand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
0 s4 r4 b$ u* z! e7 ]....) T# w" N/ b2 f
fPostCode:8 f) q0 ^, ]2 ?3 `( g. i( _4 N
mov al,099h7 Z5 i' y  H2 K: `3 K" g
mov dx,80h
0 M. q  }4 k) Jout dx,al- i% J! u( {2 |$ h- |' P% m
jmp fPostCode ;無窮回圈ㄧ直顯示99h) i8 d; S2 z; N% g
...
0 d/ t# I4 s: X  ^* S" v+ E7 X6 I...  z- o2 F- t2 J( A
wbinvd ; ...begins here on power up
% {5 _1 ]! O6 T: y% YPUBLIC POWER2 N" W6 |! a, L/ `6 w6 W: H
POWER:7 ]& I1 g) c5 Q% _# g
JMP COLDBOOT ; first jump7 d- j% G4 S$ `# D9 m1 E2 U
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-6-29 04:07 , Processed in 0.531590 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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