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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
% Y0 b8 R& L0 T  U: {3 W- ^# V( i0 s$ U- y- F
*.asm中2 U2 g; R  _! _3 M9 j! e2 l6 P; M
1. 对ICH9 中register RCBA Root Complex Base Address 填值。
3 u* d7 u& f' E/ {9 [3 g1 X2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
2 e; K0 w9 C3 J" r$ j/ [3. 向port80 丢值。
7 g3 T6 v$ p) }) x*.exe8 K( G3 U" u$ h4 ?2 F/ ~
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
+ \8 h+ d! h+ u$ _( f2 D5 J*.rom; e. @$ v3 p" Z4 y' w
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000* v, @! _+ S& `# L# h7 ^
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
. ?4 r$ ^! X- M4 O7. 用烧录器烧到ROM中,开机
+ d7 M. C: |/ s4 e~~~~失败~~~~~~
2 R! n: N8 P. s& q- J! ?% w# n) y' k" P小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
# C8 J( |. q) X* m5 F' X' h2 }http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
' D' d2 q8 n, b1 G' G. d+ K' S  X( f  y( I) I
COLDBOOT:  ^$ @$ y6 z$ |3 e: ]( D2 ?
CLI
- x  D* `6 V2 h7 p* L0 _;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;! {5 C6 ^0 N' ?) q" e
;; 1. Enable big real mode9 Q& r+ Y, V! |# \
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
# w9 J" A9 K( q1 U, N% V% y....' g+ V8 s" m% q( s+ o, s
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
: P5 B; Q, L8 I- v;; 2. Set RCRB base address
/ x2 \. f+ v6 B2 X2 M;; 3. Config ICH9 Register
/ [* M& u9 U4 y9 f- Y0 |7 Q;; 4. Out 99h to Port 80h' y& u( v7 p* e3 j# h0 U  @( b
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
# x9 K! {$ v! Z0 Y8 r- x....
5 j; r8 B3 C* {1 R8 Umov dx, 0cfch7 `: `; ]3 O. c  F8 O' Y
mov eax,RCRB_BaseAddr# V. \% N5 I8 Y& K. c) c
out dx, eax, k! Q0 y$ ~$ m! S. a$ Q+ y
....
  i4 T; u( ~5 c1 X2 N- yand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC5 A4 h3 m7 N) U$ h" W$ y" `
....
' k# _# H+ G' e0 p8 j2 kfPostCode:- j; q% P0 t8 ~: r/ H* }2 d
mov al,099h$ b4 d. ]2 o- ^9 [6 g
mov dx,80h
8 }1 R; o1 E% T7 Tout dx,al
) ~7 x3 {" ~% G8 a6 Q/ P, T# zjmp fPostCode ;無窮回圈ㄧ直顯示99h$ Q8 e8 k8 ~0 T3 D6 O/ T4 X
...2 R+ e$ r( q+ w( o+ n0 V0 P
...# ~& o9 s/ F/ P. G1 p  ?
wbinvd ; ...begins here on power up- d2 `/ w& z4 B' ?
PUBLIC POWER( M1 u, j2 U8 @8 X' G
POWER:) c4 {$ m5 B; C; S! @9 a
JMP COLDBOOT ; first jump
2 M0 K' h. G2 x" LDB '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-6-15 20:52 , Processed in 0.055449 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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