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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
+ V* p' B; V- N) n( a( F6 y, x2 S- Q; ^4 @" v3 x
*.asm中. }) `) i# l8 V: j+ p+ v* j4 u
1. 对ICH9 中register RCBA Root Complex Base Address 填值。2 H% k$ e1 B7 E! s8 p
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
; ^% p7 k3 {! c0 l  i" }# K3. 向port80 丢值。2 N) F+ i) Y1 ?  g
*.exe' x  w/ h  b! A0 c- n3 w, b! M) Y
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
: r" k0 k) j: k: e7 w; o" }*.rom1 l/ ?) \' n% F; z( z7 d
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000; Y3 P& v  Q8 G
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
, I/ c( X# J& n* e  _  A7. 用烧录器烧到ROM中,开机
: h7 T/ l* P3 n- T~~~~失败~~~~~~
7 n& a0 V$ Q6 c1 E1 k小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...$ v: J  }3 ]- H3 L  {: R" J( ~( q+ \
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......4 @- f' E; ]: z6 R! H% h0 G
+ _2 A! ]: V, g) Z6 N6 M  C" h
COLDBOOT:5 E; s0 N  h, X5 x: x3 r
CLI- M6 L4 R8 S' [
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7 ~& q% W% l/ H* B: |
;; 1. Enable big real mode
7 r* z5 h+ {; `3 ~2 a;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" u; [5 H' ?: O$ K+ {
....- ^/ d, p5 j8 t! J3 l3 [6 h. C- X
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6 x' y4 A9 V7 @$ V3 ]9 v5 ]5 m) K5 M
;; 2. Set RCRB base address
8 S- }) Z( N2 ]2 @;; 3. Config ICH9 Register
& c& S1 d. X6 g3 x3 K) d;; 4. Out 99h to Port 80h
+ ^+ T, N' d9 J0 s, N/ };;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6 ~5 P& b+ L2 |0 P# j% _, ^9 d
....* N. m: Z8 H6 n+ v/ M
mov dx, 0cfch3 r' c, ]$ ~: p
mov eax,RCRB_BaseAddr! I5 o/ }: x; V$ g/ {. n
out dx, eax, b& p6 {$ d- m. n" R  m
....9 e$ s/ I/ _" D, F; [7 s1 M6 h
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC9 ?: n2 D. j  E% c( n! `
....
6 l4 Y% Q2 j$ a2 ]  r0 H2 tfPostCode:
# v- C5 y% H0 B5 K6 wmov al,099h  u' J: R) P, j0 r! d
mov dx,80h  M: U2 G) l' p/ M
out dx,al
2 m8 o+ K8 F- o" O3 e- Ejmp fPostCode ;無窮回圈ㄧ直顯示99h
( c" q; y$ M& R...
7 y* p* e# w! S; _$ i...
* x, c1 X( ^+ Bwbinvd ; ...begins here on power up) ?2 G7 ]4 B  S1 r/ B! A- D
PUBLIC POWER6 f* E. B! O: {( k: @2 g$ u6 [
POWER:
5 T  b- N9 m2 }6 W$ {! EJMP COLDBOOT ; first jump
5 v3 G7 {, @. S, p# \0 _6 JDB '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 20:58 , Processed in 0.051915 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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