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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~7 o! f* U. O& t

5 G6 l3 a, R2 c*.asm中
5 f) D+ w8 z5 l; n5 s" t1. 对ICH9 中register RCBA Root Complex Base Address 填值。% A( j% \1 @( Q1 K: Y
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。, q3 b- t* T% {3 ]9 {$ W- L0 u' E3 j
3. 向port80 丢值。0 `( U0 I$ T% u
*.exe
# u4 \) P& S! R. ?4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。6 B$ h: z$ |7 Q5 _
*.rom
3 t+ u7 x1 [5 q& x7 b& s* P5. 剩下的代码添加到一个*.rom中,位置是ffff 0000# L3 d# T- x: _4 m
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
& O4 ?, T! @5 }9 j. L7. 用烧录器烧到ROM中,开机
- ^! l1 \- c+ R* j" T8 Y~~~~失败~~~~~~* ~7 P) E3 K# j! N# W% O( b
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...! P; k, O6 V8 u2 q8 Z! S& D' Q/ P
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
  G" s" h4 k6 N$ [1 g. f: H+ U& R* u1 Q$ m% L6 k
COLDBOOT:  F1 @9 j3 p. y/ |
CLI+ T  I( H6 R- r
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9 ]/ c% D. B9 R# W" U. _2 D8 A! K
;; 1. Enable big real mode9 S' C& z+ X0 O* N2 \" [
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8 t& [4 H% a8 M" @; W....
+ z) t" r' K, y4 j;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1 `& [) y8 _+ R2 K" n4 [, y1 Q: M
;; 2. Set RCRB base address
8 w/ C: a7 F/ c3 K; E% p;; 3. Config ICH9 Register
4 U( y+ |% D8 r$ }& k/ z/ F2 S# M;; 4. Out 99h to Port 80h7 c/ H( O: U/ s/ p" l
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4 f4 C3 ^- a0 m1 E4 Z....
3 E- ~9 |: _. c9 p& P1 r: Smov dx, 0cfch
8 x  W; E# l% w/ o% P( Vmov eax,RCRB_BaseAddr
: m) d/ L0 B1 ?- b0 Uout dx, eax
  M* e+ x; @& L! B# s....7 v9 d8 c# g0 \+ ~. o. d
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
6 r  {7 a- h- K/ `....; D1 ~( b8 `5 X8 w
fPostCode:/ N+ K( Y$ i  K0 K
mov al,099h
1 b0 }3 f* X" `& G+ Xmov dx,80h
* p, S% P6 L" O+ L7 h) [' {6 pout dx,al
# Z* b5 Q% ?2 l+ ?( u" Ejmp fPostCode ;無窮回圈ㄧ直顯示99h
1 y( `" r6 }) I5 e; f- b7 g...: @! p8 z7 D+ d2 U, q. J2 R8 K; C
...+ d6 ^6 }. P5 j% F/ f2 Q; M- I
wbinvd ; ...begins here on power up( F, w8 g7 n1 M8 S) z
PUBLIC POWER
: [1 D- O; [" i3 S& rPOWER:- K  ?) l3 x% k
JMP COLDBOOT ; first jump$ g. D; C! s7 D8 z; b0 r- c
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-6-16 19:01 , Processed in 0.105195 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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