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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~9 e; x, V' ^! C, u% m6 D- @

1 N! [7 k' f# b- h9 H*.asm中/ S6 W0 u! S( r0 N
1. 对ICH9 中register RCBA Root Complex Base Address 填值。
: ]' l& ~3 B: {2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。5 |' Z2 r& \% r$ N% o0 E
3. 向port80 丢值。
1 O4 l# P% {( d- V*.exe+ h' }( J; {- K& h4 c
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。% }# C9 e# }$ }9 n: H
*.rom6 @$ m) Z- k; Y$ o* s! c5 C
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000( h: Q* g1 x( E+ C, s
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
9 `( X6 J& K0 f7. 用烧录器烧到ROM中,开机
! U1 T' M$ x; |+ n. x~~~~失败~~~~~~4 _' d9 U7 W  X- A$ {
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...4 }8 O; P1 S' q2 @% z. Z
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......! u% s, q' ?. c) t

7 o9 ?$ P; y, l& g. m3 vCOLDBOOT:
. Z: L" ^0 A" R) R" \2 b0 ], q8 p8 i# DCLI* V% B/ \1 z2 e$ F, j, r% T9 @
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3 X" ~, j  I3 Y; |7 X3 m3 ]! q
;; 1. Enable big real mode
! o: l; R$ y' X& t; D- O8 [;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
, K% I9 w, i3 P# o- [....
2 O/ a( s2 {% w, [: B; l, J' L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3 A& I/ ?( u9 \# W/ d6 ?1 R
;; 2. Set RCRB base address
: R8 j1 I0 [( D0 i1 w;; 3. Config ICH9 Register3 ?5 L4 W* W- u) b$ Y
;; 4. Out 99h to Port 80h" H6 n% i& b9 c+ L% t# Y7 R4 F. L
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6 p1 W5 x- F' o....
0 }: t/ q# A+ x: e7 c0 j4 ?7 Vmov dx, 0cfch2 f/ f7 N1 f9 y; `) U, \
mov eax,RCRB_BaseAddr
, P: i$ p% @( l9 M+ z+ Tout dx, eax5 S7 \1 W5 i4 W
....
4 D0 w% s( J4 h: p7 I+ W+ v6 w) Xand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
1 U0 ]6 J) W/ C# I" y0 f3 d....
! t+ ?2 N, _, y$ `/ T- ~fPostCode:
! v7 Y- K4 C1 l6 Umov al,099h
5 Z3 O; {# D. i; W! Amov dx,80h
4 `# b+ H! X7 u# I6 }out dx,al$ f' `+ o0 l" x8 a) |" }
jmp fPostCode ;無窮回圈ㄧ直顯示99h, ^& ]8 s7 T# d# i% C0 N6 b
...1 r! C/ w1 V7 n4 `/ c( K
...
( W  B- a5 {% |2 _6 Bwbinvd ; ...begins here on power up
" {; [8 s3 Z4 F; P$ ^PUBLIC POWER
  F7 c& t9 b6 ePOWER:' ?$ ^7 ^2 v8 I" R$ f: g: G
JMP COLDBOOT ; first jump
' _; |& V6 }' e  l, kDB '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-20 03:47 , Processed in 0.039663 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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