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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~0 c( \! q: L( C1 Y% g# t+ C
; T% J- }1 G) h, s" m( {
*.asm中
$ j+ `% Z/ C8 C& q1. 对ICH9 中register RCBA Root Complex Base Address 填值。+ s& h; b, N1 G4 ~, H: J2 W
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。2 r: s6 M3 f( `( V# R, A) s
3. 向port80 丢值。
% B- Q' G( n7 F8 _- U6 m1 l*.exe
, y3 d' ^0 A3 f4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。3 y5 x$ V6 I; q1 ^0 i* o+ D
*.rom
/ v, E8 b- k2 p/ r5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
9 Q9 a; A( @( B4 ~- i& e3 O6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
  G- v5 j& X" `; i% z7. 用烧录器烧到ROM中,开机: e8 B' i6 i( b! A" Y- X
~~~~失败~~~~~~0 P% p! g6 `9 p, ~% a5 d, [" R
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...) w3 G; a0 ?+ y7 {1 ]
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......2 y1 G) l5 ~8 d
* U2 p# p2 V- s2 _6 N) f6 u
COLDBOOT:  {3 Z8 s7 O7 L  E2 g  G3 y/ G
CLI( E9 `6 h2 _8 w4 T0 G: b6 H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9 e: ~& e$ M( F5 A* Q;; 1. Enable big real mode
% Y+ w4 s3 |& @: a) r# d1 T7 f0 K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2 ?* H0 X6 y0 G, G
....6 \2 d. x% y) \3 ^  H+ O
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ w, [. j) @" T. X) k( W8 \, ~
;; 2. Set RCRB base address
  x6 [* }, Y( F6 l# z4 N. h;; 3. Config ICH9 Register* t; b( T5 V! Y7 E
;; 4. Out 99h to Port 80h
9 Q6 w! y' Z* K1 f1 y; v1 \;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7 f( Y; U- J' Q; v....
1 f4 i) }; i5 {  V6 Jmov dx, 0cfch4 [0 q8 A; v  D0 r; h
mov eax,RCRB_BaseAddr0 E3 f' ]! f8 K3 N
out dx, eax5 M" I, _  w2 }/ C7 `3 S9 W! n
....
; M( _" }, u# [* f: s* Rand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
' w2 j- Y8 M8 O+ b/ ]7 z....
$ l# o2 v% [8 S3 I& \" Q/ Q: W$ \fPostCode:
# b  T- P- y4 u/ O7 P- \, @mov al,099h
$ g- C1 z; @+ l: c0 t3 S" hmov dx,80h5 Y. q+ L  D% a( C
out dx,al8 F  P5 E8 T8 b- q8 H) l/ g' i
jmp fPostCode ;無窮回圈ㄧ直顯示99h
8 o/ G+ d! c. {5 |3 o...0 r5 L4 D. j% F( J
...) b  `- g4 t: U
wbinvd ; ...begins here on power up
* w. Y8 m' G4 T$ H6 v. \1 d% sPUBLIC POWER
& a  G5 H) c% R3 C- k9 gPOWER:; N/ L9 e! _8 P
JMP COLDBOOT ; first jump( s# Z. d$ n* y
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, 2026-10-13 09:08 , Processed in 0.055852 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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