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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~& G- h6 e  b. b6 c
0 N; M  k( W' l! m4 i
*.asm中" O" H1 z( w3 w; _& A# J6 M
1. 对ICH9 中register RCBA Root Complex Base Address 填值。1 `1 H( _- e8 ~5 T
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
9 y* Z9 ]# Y. q; O/ F' n6 L3. 向port80 丢值。
! z% m+ m4 [* D# d+ O* }/ G*.exe. |! ^0 M% w. w* k0 r
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
9 y: u: D; b$ f2 l*.rom- [) e) ]9 g3 x
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000; r3 n  A( U+ b6 W" |/ a% y$ {3 Q
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。" c8 c: Y" ~6 \$ {! y
7. 用烧录器烧到ROM中,开机) {8 ^* S$ y9 N1 A9 L9 [3 t" `
~~~~失败~~~~~~$ ?4 o0 i' e% n" L+ e3 J
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...8 [2 {4 N# H* j* p9 o
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......- u' Q1 q/ ^: h

$ i& a7 z* w( PCOLDBOOT:9 r( H$ j( P, h: F0 z3 ]
CLI
' ?( {% \; ?" x* F4 z$ f;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;& P6 y+ \, f$ {# |8 _/ ]. W; ^
;; 1. Enable big real mode
, y$ n2 g- P$ `: U2 ?& E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6 d, H# G, o/ p' ~% ]7 J* t....
3 ?' j& I3 z6 S* I) r;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
" H6 I3 O2 [0 m) @1 S; O;; 2. Set RCRB base address
- B" y0 ~# S+ l6 K  w$ \- A  O( t  L. J;; 3. Config ICH9 Register8 C9 a* B6 C# v1 a5 t$ O
;; 4. Out 99h to Port 80h
, u- _4 F5 o  v' s;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5 G1 c7 g+ a7 e, l$ q
....
  l0 Q( N% a6 R6 L6 q; w" _/ R4 Qmov dx, 0cfch! j9 p! ?; Q, j- E, r4 }/ ~- I& N
mov eax,RCRB_BaseAddr
% q$ m9 g) z( D/ U' M. iout dx, eax
* Q8 H% c1 ^, {% C2 J& Z....
0 g% ?% W! b/ n! H9 Qand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
' T4 G  h$ s0 G# I, ~# c....
- b, Q( i& g9 o0 _5 WfPostCode:5 q$ u; a& t: u' |  s
mov al,099h: T" _. X  S) f9 Q% \* {
mov dx,80h# \7 w+ X0 W/ c- s6 g
out dx,al
+ E9 }% X4 l' s/ k1 w, K8 Yjmp fPostCode ;無窮回圈ㄧ直顯示99h# `  n- W* e# ?) E+ W! E" h) W
...! l: c) b2 }- }
...- K/ E1 Q" a" I& O
wbinvd ; ...begins here on power up+ t# j. W/ J9 A
PUBLIC POWER
/ |* w! X' }  ]* @) i0 X, @POWER:& y1 ?0 Y- W% Q2 w* C+ J/ g" ?
JMP COLDBOOT ; first jump
0 m0 M; Q8 x  X- m" QDB '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-12 06:24 , Processed in 0.029862 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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