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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~# J% X7 j3 Q/ X. V+ [

+ i. ~7 t9 J: b) a- s" h6 i2 P* P  r*.asm中
: A7 i8 x# R: k: p. X1. 对ICH9 中register RCBA Root Complex Base Address 填值。) ]: u) k, J; d0 }3 o
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。2 m, Q5 B9 e# W8 V: n8 i
3. 向port80 丢值。
/ f2 v+ j- J' X3 ^*.exe5 H0 s& n: f9 U7 C3 m' f% g3 e+ I
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。/ G: J: x9 E0 Q! ^' [6 J, t: d( u
*.rom6 p. S2 n! C+ W; t* q  z' h
5. 剩下的代码添加到一个*.rom中,位置是ffff 00004 C' V% Y  n7 L: e5 w2 ~$ e5 T8 l
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
/ v$ a. v. l9 g  z7. 用烧录器烧到ROM中,开机
( ^4 |8 k$ m6 Y. r~~~~失败~~~~~~
4 E0 w4 z2 Q  W$ M3 t7 B小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
' W; y. G8 o1 \0 D* J* @! b" Ihttp://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......# H4 b1 ^: X* Q4 d

9 o% g3 ]5 m' A( \COLDBOOT:
6 ]' P0 r4 {, B0 J0 e7 vCLI0 f, i. |* R; ^4 ^/ L
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5 u/ y% S# Z# V
;; 1. Enable big real mode
, M/ V' t8 z* ~0 `/ d;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5 @  w; E! F7 Y- u& X& O5 [* g+ \....
+ a  E' R& ?6 n6 {& R+ K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0 H$ c2 C* e8 \  B9 Z7 \- w3 V
;; 2. Set RCRB base address# S( m$ o7 }# R9 {2 P
;; 3. Config ICH9 Register, q  K8 X# W/ V3 {7 B
;; 4. Out 99h to Port 80h4 |* x4 I2 W8 o4 M* M8 H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;, x, e0 _# Q& j- ^- C* z+ \
....
' ]( t8 W/ K+ t0 s  N. W, fmov dx, 0cfch$ j; _# o9 B  U' l( M6 H% ?% N
mov eax,RCRB_BaseAddr4 a' N: I6 b$ G- A
out dx, eax/ c; g# M. _, Q9 d7 _& Y
....
7 L3 ^, w! X; |' k) tand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC; `3 S$ }+ H0 [8 A( p; r
...." s+ x8 h! {/ Q' S
fPostCode:
; m$ H. T& p' B1 j2 X' D* y" `mov al,099h5 J, ?: M$ i- G% v
mov dx,80h
, h8 u" }# g) j! zout dx,al
* K- c! z8 k, s" y* a2 W; Q( Xjmp fPostCode ;無窮回圈ㄧ直顯示99h& ]: E) e0 V3 F! @. ~
...
: S) c/ U5 Z0 ^.../ c- G+ {$ v" V. J% Q2 ~
wbinvd ; ...begins here on power up) y! Y- b# Z5 _/ C( I1 s
PUBLIC POWER: [% [" C, s+ K. K- V4 ?
POWER:0 H3 ]/ P- Z6 Z+ P) |; h) h; T& {
JMP COLDBOOT ; first jump
$ Z7 _$ B: ]+ t. pDB '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-9-1 17:39 , Processed in 2.803819 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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