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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
: P" s8 Q2 J" h( A5 O& o# n' p
) o  c7 B( ?  t8 T! Z# r% h*.asm中3 t4 L3 K* @# k# U* A
1. 对ICH9 中register RCBA Root Complex Base Address 填值。. }- X+ |& v. x4 K& p
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。* s$ u( l1 v, `) N/ F- Z
3. 向port80 丢值。
; M' N5 T6 _# A* G3 a3 q*.exe; R7 w! u6 \: C: Z. f$ i, L
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。! ]( ]- Z( B' v% `) ?3 F, _9 S
*.rom! ?' x7 K8 _' l) C' b5 u
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000/ m! y) ~, _7 s
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
; k7 D/ K  I6 D, F" ]0 k7. 用烧录器烧到ROM中,开机+ e/ C' ]) _! \+ b
~~~~失败~~~~~~
$ l1 q0 g" }2 I$ T2 y+ p) o: @小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
/ F8 l, J: W- n, \. j# G, W& o9 Q: Zhttp://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
+ ~. v* c; ^6 Q: @) S' s
/ U* e/ e7 [' p% A7 c. K  CCOLDBOOT:# [2 y4 \7 f# O8 C6 |( A1 W
CLI
6 w0 Q2 {$ S+ i9 ^3 K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;# C# F6 K, j0 g' _
;; 1. Enable big real mode  f; `% j3 _5 Z% f
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;) F8 l) X9 ^  m9 M5 Y
....
- }, Z& z3 ~) D: |6 c;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  V0 a% c$ H1 _4 W2 L$ j" D& t;; 2. Set RCRB base address0 R$ Z4 ~2 u  n  f! q3 Q
;; 3. Config ICH9 Register8 z' ^* l! {( I3 y
;; 4. Out 99h to Port 80h: U( f0 Y5 r8 s! b, h
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1 G4 i4 N1 i5 B4 ?& e1 l4 W....
8 @2 ]3 G9 {: K" X, a) R( ymov dx, 0cfch9 }/ W. x8 f( V
mov eax,RCRB_BaseAddr$ z! W4 n3 A- }" [% F
out dx, eax4 Z2 X, c, V* z) F" V% T; ?
....
% x  j! i9 \7 t' l. Cand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC. G  ~# l. u4 q8 _2 R
....) N$ k+ Z' ^# l9 A7 y1 m1 @
fPostCode:% N/ Y3 @; {8 h, h9 U# t. `3 M0 Q
mov al,099h$ V: B  J2 H: W" |
mov dx,80h
0 T: I; @# G1 g1 B" U9 a9 cout dx,al
5 T1 S4 T3 u& S1 R" ejmp fPostCode ;無窮回圈ㄧ直顯示99h  j. u) A7 r' D  b3 r/ ?
...
! l  |; r+ N. g. I+ _+ V! S6 s...8 x3 H! x& l, R
wbinvd ; ...begins here on power up- Q0 T( Q" O6 E0 l
PUBLIC POWER
( o2 a8 m' P  ^POWER:- i9 w; W1 X" N2 b
JMP COLDBOOT ; first jump9 Q4 C+ K2 D; s" T, c: d- P! D
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, 2025-12-1 02:53 , Processed in 0.073684 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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