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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~" U; Z1 m' N. x. g& m
5 _  @2 u9 ]- W( W! D/ e$ o: ?' x" j
*.asm中
6 F1 m1 Q, P2 s& Z2 c! \$ h# O1. 对ICH9 中register RCBA Root Complex Base Address 填值。/ K& O9 C4 g2 r0 A8 G
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。( V' d7 J( M% U2 m! d
3. 向port80 丢值。! G# b0 s# E7 F6 S# L
*.exe
$ h- A$ o( o% V9 o3 B; y4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
9 b5 J. N- ?$ L# F" T% k*.rom4 m: G4 t; h4 R3 Y$ M8 b
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
  Q1 y2 [5 |, M6 }- \6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
5 ^3 t& e- I$ Z% z& y- B, D# B7. 用烧录器烧到ROM中,开机6 a: Z1 M0 P# F0 o
~~~~失败~~~~~~
, `' x* C* S6 a- d4 r6 Q7 h. ?小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法..." x; h# g' ^6 D7 P: G" `: W. {
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
7 c, \" {. U% \0 _4 o! _- d
6 C4 h9 b3 [0 wCOLDBOOT:+ `1 E( c' _9 V" w0 G9 k# H5 X/ P) W
CLI" j" m- z$ p+ G1 V+ G- a0 }$ z) v
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5 |" l: t3 J! q) E2 @) Q
;; 1. Enable big real mode3 W- u* W. Z7 u' m! B
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ M/ @* z, g" m3 w5 }+ X; B
....) }0 U. J: ^% a2 M( ^4 h! O
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7 u- e) s0 p* e) B, J
;; 2. Set RCRB base address
0 L5 B( {/ N5 C6 w: N, g;; 3. Config ICH9 Register
$ w" w9 l# U) z1 o* _; p  m6 s1 \;; 4. Out 99h to Port 80h# M; S; b8 Q! Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
* `2 z4 l3 p$ y2 C  J. e- `....0 _1 x7 q. u) B& q, s3 e7 q
mov dx, 0cfch; ^( T( ~" G9 f
mov eax,RCRB_BaseAddr
4 B' Z  L* k4 s: w9 \7 N7 q# `out dx, eax
/ ^( u! f5 `0 l( Y; @....1 X+ ^; Z* f* e5 F- i1 o2 e
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
+ j1 \% L! G; C8 D1 I9 N....
9 L" c+ f9 o' ^/ G" {fPostCode:
: G# h+ J, i1 _$ zmov al,099h2 i+ S2 H' }+ T! d0 {, {
mov dx,80h% B' o- D. q  g
out dx,al
9 f2 a8 m) N3 U, I3 Ajmp fPostCode ;無窮回圈ㄧ直顯示99h
0 W! u4 U2 q1 s+ n' ~/ J...7 Z# T9 O$ V2 o7 Y9 N/ G' N
...  O+ C7 ~# a6 k- }% [3 f) ^% {( B
wbinvd ; ...begins here on power up( _. M2 I2 \$ e# B0 \  u8 z3 s, m. o8 m
PUBLIC POWER5 ^, V( ]4 Z8 G" ?
POWER:" w$ ]( t5 ?' s% D9 ^9 j; g' [
JMP COLDBOOT ; first jump$ M' t* n6 k7 K2 V! g- x$ R' e6 Z9 ^
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, 2024-5-19 04:07 , Processed in 0.025746 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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