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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~; C# n7 G. d6 j# ^
! d4 E* j' E6 v
*.asm中, d6 \, K$ k0 Q- c7 W% h2 ?
1. 对ICH9 中register RCBA Root Complex Base Address 填值。
& r6 H. w% x" f' {2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。2 L0 A6 I, e0 T: `  c
3. 向port80 丢值。
6 E3 o1 p1 {* w, ~*.exe) n: H% d) o# U& A9 S/ k
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
) q' Y% X- r% U/ n* H*.rom
  ^9 r3 x( c8 C8 F" G5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
( n# `# ^4 A8 N) ^' _2 ^* x6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。; Z' F" S7 X/ z+ H/ K6 O
7. 用烧录器烧到ROM中,开机% D9 C8 y) i8 l& D  y, W
~~~~失败~~~~~~
5 R6 b1 h' c" h小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...& o' R: }9 g# |+ v. A# E$ ]
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
: L! j) h1 q8 u  t* I9 Q5 J8 d; C
3 ^) @. `; u' S" l* }7 gCOLDBOOT:
6 e. H  @( e. b% Z4 \CLI4 X6 Y' _5 ~( H% e* g6 I+ _. q1 r
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
" b' M: G- A! H8 Y5 \/ G9 f  \;; 1. Enable big real mode# s- Y9 u+ a" b; A$ E( w& u5 K
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; h+ t( z: a8 ^  y. W
....9 m, ~4 j7 y) c! x$ K
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
, u8 X* G# ?- \7 g;; 2. Set RCRB base address
) A1 R% d8 p2 q6 };; 3. Config ICH9 Register
  @" B) |+ O! }3 t' j. u- ?% p- M;; 4. Out 99h to Port 80h. D$ j$ p) v0 r
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$ g& e. Q8 D4 i5 S6 X- C....
1 q2 ?8 H/ f' z- k+ c, d/ Nmov dx, 0cfch7 H7 [8 p9 D, v1 Q) B' C- e
mov eax,RCRB_BaseAddr
+ H  s5 S6 b# Tout dx, eax
, X' U8 l& w4 G1 [* j....
( ^! B; Z+ L( c$ O. N4 m+ t* `and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
7 C3 v9 L' `0 ]: k+ N1 T: A....
3 j0 C0 T& p8 R; Z( n3 wfPostCode:
# k. ?' G( o" Z& K5 H# ^3 ymov al,099h
% j$ s2 X. {: ~) V8 |: N% u' Hmov dx,80h% d6 g8 p8 y% e2 O
out dx,al
5 c5 f! @9 ?7 E9 ijmp fPostCode ;無窮回圈ㄧ直顯示99h" x1 Z4 v# `2 X) s2 I0 O
...
/ g/ G0 S2 q8 B2 H- e8 a...2 k. x* o" G  a% N' f, ~
wbinvd ; ...begins here on power up
/ H$ J8 O) B3 o0 k. A# }; ~4 GPUBLIC POWER
$ l: Z. ~* T, r% b9 E* QPOWER:
5 j% ]+ X3 s4 H4 h  ~, fJMP COLDBOOT ; first jump
# f  m9 V6 l9 k# g6 K" I- bDB '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-11-3 23:07 , Processed in 6.760850 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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