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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~9 T2 n9 Z/ P! v0 n- b

) k) d3 g# a7 {: `' @7 K*.asm中
% i; o6 m( d* t" v8 H) m1. 对ICH9 中register RCBA Root Complex Base Address 填值。
% F" W7 g4 l6 F6 Q2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。% i; m& L8 x1 T
3. 向port80 丢值。
! X1 N+ N) `6 H*.exe1 q, l% a4 G0 z% R& k
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。8 o% }; d6 B- T
*.rom
, Q5 h3 \: ]! u7 H8 }5. 剩下的代码添加到一个*.rom中,位置是ffff 0000$ ^. ~7 O* T- H$ {# R; ?
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
- i' M. c, f; k, U: _( \7. 用烧录器烧到ROM中,开机: l% G+ ]# ^1 l* a
~~~~失败~~~~~~2 \+ x/ ?- e$ ?
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...( ~9 O. H. `! n8 e' u$ O% g
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
  h6 c3 q% @' L, B. I2 z/ [7 B* i( X8 v0 i; R# c
COLDBOOT:
* H: Y3 c# u  p" U" [6 RCLI
3 r5 Y8 h* y- I; ?. P7 K. a! S5 d;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0 n! p& z. ^6 _5 l+ I' F! I;; 1. Enable big real mode6 {6 C5 c; i, y, W* k
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
: G0 A+ N! {% ]6 Y. b....
3 ~$ v+ A+ V8 F2 v" h6 c;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6 d" H' @( J+ U! ?0 k- i& ^$ V  t8 I;; 2. Set RCRB base address
$ ]; M1 @, v' Y6 o  F/ O: U) w;; 3. Config ICH9 Register
" }' _& o4 H0 i8 a;; 4. Out 99h to Port 80h1 ]. i2 @. g( v
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2 P7 n/ ]) B& ?* K- i6 w! `5 P/ N
....
% I2 s# `9 J  X/ y' \6 _mov dx, 0cfch  v/ f. |5 o% P/ V. h- v
mov eax,RCRB_BaseAddr  T7 c- z- V) h) E9 B
out dx, eax
& v0 U& S9 w. I....9 ]' H8 P% K$ }, {+ O
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
% }6 d& o) A% ?+ Q. D4 d6 o....
% u, m: X- I0 I9 c9 G6 UfPostCode:
) I* ~% N& T$ n3 |$ d, o5 d6 Cmov al,099h
  K/ W0 B* ^- o! zmov dx,80h
9 P; k& r9 d% D; uout dx,al
( N! s6 w; I3 k- g5 t6 f- _$ pjmp fPostCode ;無窮回圈ㄧ直顯示99h7 j5 T5 U# r. F. c5 ~# ~
...
& b/ h" h0 F7 E, J8 x& z...
" G$ r. M+ k; f2 Y) S! N9 Kwbinvd ; ...begins here on power up6 l) Q$ G6 Z' q/ \# H
PUBLIC POWER; K4 S, }/ q7 ^' H
POWER:2 j' s# v, j0 }' i8 ^
JMP COLDBOOT ; first jump4 k& B- j9 f( Q0 |1 [
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, 2025-4-12 06:12 , Processed in 0.029487 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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