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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
' v: z5 @9 v7 z1 W! Y. L" P7 @; L) R
*.asm中
4 b$ O- X, V) I0 c  ], F3 \( q. w9 j1. 对ICH9 中register RCBA Root Complex Base Address 填值。. I2 P( A: X# c0 {8 K$ o3 U$ O1 G- l
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
( n) b; h& |* g4 ^0 S( `1 M1 L8 R, K3. 向port80 丢值。# a$ c+ f( i7 f* Z& O  t. _
*.exe
' ^' _  U, W( \& ?7 c8 H3 X/ g4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。1 g/ L+ `0 W2 a
*.rom
* S  ]2 r! R( X3 \$ E5. 剩下的代码添加到一个*.rom中,位置是ffff 00002 J4 `) q- _, Q# n# r9 S0 w
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
) H" D9 n, ]8 [7. 用烧录器烧到ROM中,开机6 P+ L3 |: Q. t
~~~~失败~~~~~~
/ }* M% g% o  C小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...# P3 @. Z! T) t2 ]4 r
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
$ a- p" e9 g$ t, \! v6 \0 o, D; S! J; ]0 V; R
COLDBOOT:
9 |9 n1 P- E5 F2 LCLI
# M! m) G9 `5 i; s9 L6 g9 F1 B- ];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;! [+ d1 M9 _5 x
;; 1. Enable big real mode
$ V, ]# h( R7 B! {" w' D# i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;' v5 o' G0 O: R/ t# G
....
. Q3 U, y0 o! ]2 n- G* H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 f$ @) {! B# x2 q& k$ K# w+ t;; 2. Set RCRB base address
- O6 z& z$ s, ?! M$ Y. F;; 3. Config ICH9 Register
( Q: z) i1 l8 Z  N! t1 k;; 4. Out 99h to Port 80h! n: l! \; C$ w+ b6 _4 N
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;) L5 B/ X/ j8 n
....
, D5 G+ Y1 Q+ amov dx, 0cfch( @1 c0 i8 ?9 H3 X# Q4 e
mov eax,RCRB_BaseAddr/ q! V, z) n1 {$ M1 m
out dx, eax7 O1 x+ t& G& \# V& r/ |! C  h
....; h( G0 u$ d# |
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC. {' \4 ~8 @/ E$ w: ?
....
2 w& J4 v! m4 R0 @: ^) D% Y1 bfPostCode:' v+ r( j' ~( X" a2 l
mov al,099h4 [3 a( r! w2 G* J
mov dx,80h6 w% l. T2 m' k' c) \1 X  g, ^
out dx,al& I5 C! Q7 s: }7 o6 @! s
jmp fPostCode ;無窮回圈ㄧ直顯示99h
( X' l" V* b( i: y/ b...2 t/ y) d3 R: P& `# w3 [; P  n
...
" [: h  t$ P6 I2 w! mwbinvd ; ...begins here on power up
+ q# k! m: E  c0 aPUBLIC POWER2 p9 a  P! u8 w2 v  D9 m" r
POWER:
, v" |1 k, r- w- y- BJMP COLDBOOT ; first jump# L2 `5 w! h3 t3 M- b; _
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-1-12 05:37 , Processed in 0.436583 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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