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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
- S( a0 O0 r4 ~0 F! @( v
; j# L2 z! Y1 d2 y$ C/ w3 g+ J, t*.asm中, h5 ?; T: ~$ T5 b7 A) K6 V
1. 对ICH9 中register RCBA Root Complex Base Address 填值。2 t9 P: w0 @# l8 d) r# \1 ~0 h# ~
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。( x: D9 q7 `& C9 D9 Z) D5 K
3. 向port80 丢值。
) }! f& J! h( Z% ~+ z2 O*.exe5 U# B. r; Q( Q1 h1 l
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
9 L) S/ J  q5 G* N*.rom2 Z* \8 s  ~7 o0 |* t$ K+ H  C$ T+ @
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
& Y) t0 \: T. F; W, i6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。9 N& B7 f. t( A9 M
7. 用烧录器烧到ROM中,开机
( \9 m$ k3 y3 Y+ z~~~~失败~~~~~~
$ J" P9 |# P6 K5 V5 R% C$ G小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...: b  J. w5 c0 w
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
3 x# z+ G( i' f
9 a4 j" V) I- D3 E6 t; z; q8 xCOLDBOOT:+ }( @. h) {, [; ]
CLI/ [: b% i8 c! y8 ]' ~3 b5 E
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
) _" p3 m+ X, _- i/ h( r( J' V* w;; 1. Enable big real mode
. Y0 J  m! }  Z) Y;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
) F) a1 ~' W! K/ h1 M....
. D& z( }( h+ a;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4 R5 x4 |$ A- E* X) ~' c;; 2. Set RCRB base address- }! _: k, P4 ^" l& r2 n& l
;; 3. Config ICH9 Register
. M  Q$ G5 \0 F;; 4. Out 99h to Port 80h! L7 p7 y8 ~% W9 N4 @  {" v
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9 [1 U4 R8 D* O" s....
; J& f0 M! I% h4 W: [( S% imov dx, 0cfch
3 _5 x) R% Q8 E2 Gmov eax,RCRB_BaseAddr
6 z0 w; A4 H  lout dx, eax
6 f: c8 M+ }* g....
. C' {# [0 E! R9 x/ f$ gand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
( ~$ l+ c# T( F+ t....
! T( w5 s! N2 \: t1 PfPostCode:1 V8 G) ]0 y2 F
mov al,099h3 z0 D2 L% F2 c5 d
mov dx,80h7 i  M  V) [5 O& i% Y( w
out dx,al( M: u  a, Q* T% {
jmp fPostCode ;無窮回圈ㄧ直顯示99h1 D2 m- C2 _( p& ]
...
' j1 L5 o8 a  u3 E& a...6 m  Z* Y0 f/ a/ Q2 z
wbinvd ; ...begins here on power up
1 _& i% b1 @3 R0 W" O( f. yPUBLIC POWER# ?  k4 v! C4 ?8 _: _
POWER:2 Z" v* R& i- W' O3 U0 \
JMP COLDBOOT ; first jump
& p7 c; T7 z- K: c$ O- z- YDB '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-4 20:16 , Processed in 0.055998 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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