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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~- _! C/ G4 A( \7 I
; g- {; H# M1 y5 t4 m2 _" i' p9 _
*.asm中
, X3 E/ g) d# E/ @0 {# O- U1. 对ICH9 中register RCBA Root Complex Base Address 填值。* d8 M+ \4 L& E
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
  v$ s( G; e- J3 a5 b3. 向port80 丢值。
* o# m6 b, f8 H' [2 |*.exe  \, {, f6 v! ^
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。) M3 ^/ o+ ?8 l- L0 }- A* M2 N
*.rom
# J% X3 n! r6 ]4 P1 k0 |: ?8 C5 x5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
, l3 a$ [6 r! _) C$ }& X+ j6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
! G& p1 U+ N1 `: h1 M, |4 S; b7. 用烧录器烧到ROM中,开机
  P4 T& R& d/ k~~~~失败~~~~~~0 z, ]8 S6 m( q2 Q
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...2 j5 y( d$ \, g2 q
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
/ h' }9 `: _0 [) H, i
% [) c, B' u# p9 R# s6 kCOLDBOOT:
3 x- A( I& e; @; x9 ^: qCLI
7 K# ~% _9 B" S# b8 K1 w, k;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
) ~0 \5 [$ T' N& ~9 I  r3 q8 x9 f;; 1. Enable big real mode/ L( D# w( `. c- m7 t
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; P1 k8 N3 `3 i  x/ o* B$ S) s....
8 d9 K; U' u1 g3 H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ _" g6 h# E& u; T9 y& v
;; 2. Set RCRB base address
! z  g, Z( ~6 S* Q' k;; 3. Config ICH9 Register
/ n! h$ Z8 _0 W  O  o- U/ ?/ w;; 4. Out 99h to Port 80h/ d, G' e) ]. U& n: x' w
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2 ?  r9 s: @. ?4 ~
....
- j. X) d# i  I7 H! Zmov dx, 0cfch1 z/ l- X* p. t1 m) H
mov eax,RCRB_BaseAddr
" Y6 \& v1 q+ Z7 a9 Iout dx, eax1 s$ n  P, p$ i: ^+ |
....  ]6 H5 ^9 q+ `4 ~: C  D9 Q/ f- W
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC; ~/ N. Y7 o# n  f
....
! S3 N- c$ b+ `, U9 L% @& P0 JfPostCode:
/ H- {- L+ l1 c6 Bmov al,099h: _( e% t1 [, P4 V8 I; Q  {
mov dx,80h
( V6 ~. L0 [6 s( N9 Sout dx,al
  ~8 e0 M" C( d$ Zjmp fPostCode ;無窮回圈ㄧ直顯示99h
0 ^2 [$ l: N0 R3 h3 ?, |6 I( X...5 M/ P1 f5 n6 P; W& C
...
, W' b9 m6 o8 Pwbinvd ; ...begins here on power up
4 W4 x9 v% B( z& QPUBLIC POWER6 B9 T& E7 F" e
POWER:
2 V5 Z" W; {/ vJMP COLDBOOT ; first jump1 A0 I5 F) L: O+ ]6 T
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-9-19 21:00 , Processed in 0.057191 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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