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

关于port80的问题~

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

: S1 K; Z" Y( i/ Y& ~*.asm中+ s& r9 C  \2 O
1. 对ICH9 中register RCBA Root Complex Base Address 填值。' j  t+ }8 g; g+ z# K( D- O
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
1 F$ K+ v7 l; b- f3. 向port80 丢值。! E3 G/ _0 B0 U. l0 ^. H7 r
*.exe" ~7 Q8 F; e. e4 p# N
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。% B) a" [2 N9 J) ^8 c9 d. g, e
*.rom/ v! L. S0 i( k  V
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000% c* @/ p, |' [9 ]+ s  u& I# L
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
. g$ x% S* o/ Z: Y4 T7. 用烧录器烧到ROM中,开机
; B3 W$ i3 u5 ^& l~~~~失败~~~~~~
  Z% X' h+ F5 ^小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
3 o- `/ F6 z4 b9 \9 g! }9 C7 W  J. c3 ehttp://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
1 Y/ e4 l7 K6 B* `" u- y4 s( @* y! P# M  ~) |
COLDBOOT:
) x3 `; E( ?$ f' LCLI
' r  k/ ?/ i9 f& ?;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
' u" k, M- }8 u( L1 o& u' G; O; H;; 1. Enable big real mode
! @# @- |, u6 e: f6 D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
* F  n3 L3 f+ c- B....' X8 g1 A4 }  \4 j3 v( b" h, P
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
% ~6 _! k1 r/ ?  w1 M8 z. G3 p;; 2. Set RCRB base address
6 x- e8 O8 P5 B8 L: A; e;; 3. Config ICH9 Register+ T+ Y, B* t& V1 U
;; 4. Out 99h to Port 80h
: ^! K" ?( W1 ]: {; q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;, F; r; j% C  `' m
....
; z) R: x) h# _3 E/ l9 lmov dx, 0cfch; W; N7 Z$ c( s$ s( p
mov eax,RCRB_BaseAddr
9 I! Q" H, Q5 O1 Z' {/ q% yout dx, eax
6 ^0 m4 k- V3 `% O....
( N& W4 K. h$ d6 v1 C8 {, aand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
; D! w8 c+ X4 p; V% J. r....
* l+ a" h0 N5 S) L0 CfPostCode:
7 T. p( a; B1 \* ymov al,099h
9 d! Y) n3 L# D' p' {/ J$ {) emov dx,80h
, {8 T! f1 y7 jout dx,al
& n8 d" v& m- O1 V( d+ }) S# Yjmp fPostCode ;無窮回圈ㄧ直顯示99h
8 Q2 m0 [4 ?4 ?# }- x...
& O$ a9 r; |: W. k0 ?...
3 E- h6 V' \6 ~/ Dwbinvd ; ...begins here on power up
; x" d( i7 b/ [5 V+ A3 tPUBLIC POWER
6 |2 [: Y* O1 Q5 N8 NPOWER:- e/ s( ]5 z' }0 G  @1 G% L
JMP COLDBOOT ; first jump
! N6 |* M+ W2 j- c0 z$ o2 q9 HDB '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-12-1 09:39 , Processed in 0.127445 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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