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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
) z% H" p/ b6 N2 Y4 [5 J! g& g- S
3 j- M; `9 W/ {* c, p- a+ E0 x*.asm中7 H- N6 f" K0 X5 s0 W+ |8 U+ e% N
1. 对ICH9 中register RCBA Root Complex Base Address 填值。6 G* ?* f! X* y  @  ^6 G
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。. Q$ P! t3 z0 w$ X) y8 m9 c4 f
3. 向port80 丢值。5 N, c1 p& ?. Y! O" X+ F
*.exe
* i7 [- I' ?/ U* S, H4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
' b  n+ ?$ h* W& G1 u8 L*.rom
3 T  w: u. w% w/ j5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
6 |- ], y' V) X+ O$ Y6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
! h+ ^" `( Q& ]0 r7. 用烧录器烧到ROM中,开机) T- f6 D; x, ?  D( A: R
~~~~失败~~~~~~7 x) N* @- A# R  F. W2 {. w" M
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...4 O: i0 r& A0 [( w7 n9 w4 @
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......) p. y, j: |! H* @4 l' ]8 d

) r9 J! w5 E6 [' TCOLDBOOT:- U5 G9 _6 t& P2 H7 V! ?- U
CLI' i, X1 f8 D  ~+ J$ @
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ b! {1 @! e3 g. m( A6 n' j
;; 1. Enable big real mode
. J% X. j; `( |( f* v; N" T  U! L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
% y( `8 e7 ?" H1 y( S....# F! Z* `) _, e8 v& ?" K
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
/ ]% r  A4 x, [3 J  C;; 2. Set RCRB base address
2 r" ~0 ~4 ~" `+ B  T- K;; 3. Config ICH9 Register
8 v; G. R# F' l" j9 ^4 d;; 4. Out 99h to Port 80h
3 x& c. y, h/ Q# o;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
) \1 K% U- R; M....& r" c8 ^5 p) _7 ^( U! L; z5 |5 v
mov dx, 0cfch
( H6 K6 J# I1 Z' J* q# o7 c3 \- mmov eax,RCRB_BaseAddr9 g" k) I* ?" R
out dx, eax  @0 O6 [" u4 j- f2 {' K
....' S6 Q/ |3 d% _
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC% f0 k; n$ e% l5 v7 \
....
0 Z3 v( o9 _- `& KfPostCode:1 h  ]7 ?3 T* m  e3 ~
mov al,099h6 d7 l/ w% b! g0 v/ Q# V
mov dx,80h
9 L5 T& s* H; ^- B& z4 B9 Wout dx,al0 U' e5 g3 U9 `$ g3 B; E# a
jmp fPostCode ;無窮回圈ㄧ直顯示99h* o3 a" b4 x/ D" ~5 k" J
...0 O, G* k8 P& z: A# R4 d  z7 J
...
4 T6 T& r. @0 S5 j- }; Mwbinvd ; ...begins here on power up
7 h% x9 _- A, {  {% uPUBLIC POWER  n# I% F4 [3 Q/ g  X8 W
POWER:
& k2 f* e, w% P0 E) ^JMP COLDBOOT ; first jump
- [! w$ G0 X6 Z* yDB '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-4-4 18:23 , Processed in 0.064942 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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