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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~) |0 H0 @3 o8 S
  C& C: J  J7 I0 m! d) g/ ?" [/ g
*.asm中/ S% n% T$ S1 y: n' g; S
1. 对ICH9 中register RCBA Root Complex Base Address 填值。
) n* s) |, A; K5 H2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
( R, Y+ Z$ Q. V' z3. 向port80 丢值。
# E& P, y: ^2 H7 Y9 c9 T*.exe( ~- L6 q1 O9 d3 h" Y
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。. b2 b; o* ^  d# R) J  J$ J
*.rom
- N0 o" j: y7 \$ o7 t5. 剩下的代码添加到一个*.rom中,位置是ffff 00002 J  z+ W9 Z) ^3 ~0 }( Y
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
. V0 A. w" ?1 K. V  U7 p7. 用烧录器烧到ROM中,开机
5 t' B6 {% w+ n0 X! n( ]~~~~失败~~~~~~; P( I0 ?" D% g9 p* C( Y. n2 U9 A
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
, P6 |* _3 D. V( K0 e0 ehttp://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......8 R  c+ _' }: i# m

" C8 J# \1 V  o  KCOLDBOOT:3 Z. Z& m2 ]; _1 o8 S3 V3 [3 M2 `
CLI
/ B" J% e  c3 c) d! \4 n, y;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
" p. @  X4 V4 a3 P; E* i9 v;; 1. Enable big real mode$ y& _/ J  |; Z0 b# y, I9 s
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6 F- e# L8 n# F: H9 l7 Y
....3 r- q- y; X" q2 T. D
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
# y* L8 L: p% J$ I& g+ M. z;; 2. Set RCRB base address
$ L1 d. m% b4 u;; 3. Config ICH9 Register
& k0 G6 ]6 x7 m1 m) ?" N0 q;; 4. Out 99h to Port 80h4 p; k- `. a4 \" v) k
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0 |, F6 F$ @: v2 e* A
....
4 w5 P0 E, l$ tmov dx, 0cfch
: J' M# M# `% m1 Imov eax,RCRB_BaseAddr
; J+ |( T. h  a" S( [, nout dx, eax; R; O6 s/ m1 s4 b" u4 _! c
....+ G, _6 i- k7 L) m3 F1 K% Q# ^+ I0 I
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC! z6 S2 X5 f' f* e
....& i1 S0 Q; T, X% N/ s# Z7 O- Y. G
fPostCode:) F) `) W) i# ~* Q/ R6 S! d
mov al,099h0 Y4 M- q% p8 p# l  O) }0 ]
mov dx,80h9 O" m% [7 _4 d- ]0 x2 Z
out dx,al
. e1 C" p0 w( d0 A7 r' mjmp fPostCode ;無窮回圈ㄧ直顯示99h- a+ t2 @: B! o" Y
...5 V: l5 i- A/ r  p/ q7 m
...8 ^: Q6 w& |) _" s. C8 X
wbinvd ; ...begins here on power up
) s" K  F" x/ O9 z9 J9 FPUBLIC POWER' M/ q, b/ [! m
POWER:  w# B) f6 S8 ]4 B% i9 L# c
JMP COLDBOOT ; first jump- i. L; G, V* Y: m' s# i' k
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-8-11 16:58 , Processed in 0.117241 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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