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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
0 [7 P+ ~" c- {: Z
/ C! c9 n; |- r' F*.asm中$ y7 B% g% r: K
1. 对ICH9 中register RCBA Root Complex Base Address 填值。
0 S1 I6 s, O, M2 k6 C7 X4 M2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
. N% Q7 `: q- R& [5 Z# M7 a" x" ^3. 向port80 丢值。9 {& x9 U$ M( m, e
*.exe
0 A* n5 z# Q! ^* I, X4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
" G5 b7 M5 D, }) D6 r*.rom% J- d+ P  R3 ~
5. 剩下的代码添加到一个*.rom中,位置是ffff 00008 a9 k0 ]! S; d1 {4 q+ {8 a$ R% e. K
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
+ A- g1 Q3 B6 _" a) Z: J; D7. 用烧录器烧到ROM中,开机# S2 v' E: f9 t% D* Z
~~~~失败~~~~~~! x0 T1 w* p2 d  M
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...) C/ ^2 _6 ?0 r! D% k" `- C
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
1 c; u/ a9 Z; V* v/ h" u/ T  P
3 x. T5 R% n- y* C  M) lCOLDBOOT:
9 y3 x3 |+ n  s4 s" \CLI
* @# ~. w9 b1 j7 v, [# f;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 Q, F( A7 A* x5 D- j7 h;; 1. Enable big real mode
! g2 ?- v, G8 G. R;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Z9 }. P% E9 F* E....
1 F  Q, i3 a# P;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4 v' z! R2 g- E' {) h;; 2. Set RCRB base address' T* h5 ]+ X) y( j2 ?. O
;; 3. Config ICH9 Register6 N+ `( W/ s5 I) F$ \
;; 4. Out 99h to Port 80h
5 h- t7 k& s: L) ?8 [; g;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
. E/ \5 K- A5 ?0 Y7 C' {0 H....3 a( b: \8 Z2 Z2 E
mov dx, 0cfch5 L; x9 Y) ?6 l) L, c: V+ W
mov eax,RCRB_BaseAddr. ~5 c! g2 Y% K
out dx, eax: k9 S7 E# I' D" @* A# M
....1 X# U8 K; B4 _2 c, a
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
/ p8 b2 k1 T1 m, t  i( V0 w: m....
4 {7 Y4 Q3 a" m6 G8 \9 D; QfPostCode:
/ B5 R9 m1 C0 hmov al,099h
$ N  y) B4 E& D3 @! jmov dx,80h- |2 h0 j2 |1 _% A% x8 y4 u) M# b
out dx,al; w% Y& x. _* j8 `
jmp fPostCode ;無窮回圈ㄧ直顯示99h
  k7 P( J% j5 ^- x$ |) G...' U2 O/ s) y% C: X  m
.... U3 v3 d. ^. o
wbinvd ; ...begins here on power up
3 J4 j7 s5 f5 ?7 Z# B; ^9 X8 g1 XPUBLIC POWER
+ h$ B  m% A6 gPOWER:
! @& b% A. @- P/ \/ h2 R  mJMP COLDBOOT ; first jump5 J; ~+ L$ @3 x# V! j/ M
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, 2026-10-12 07:30 , Processed in 2.140430 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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