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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~! c1 p7 R! t% `
0 \4 x9 B- `! }1 y4 ~
*.asm中
5 ?' f! c" J. B% n' H1. 对ICH9 中register RCBA Root Complex Base Address 填值。
5 L" u0 D3 a% [2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
' [% U" l/ y4 V: M6 s  F$ u3. 向port80 丢值。
/ F  a. a; q4 U0 u8 U3 l" J- |( c*.exe/ P( Q/ I* S/ `+ |0 F
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。6 p2 _) V: w3 T4 w" c& J% Q2 V
*.rom
5 X% s7 T/ R0 J, x# g3 @5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
# M/ \5 z( i  e6 C5 I, ]" o1 Z" f6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
- S0 V$ c) x0 V5 @2 r! b4 U7. 用烧录器烧到ROM中,开机
- U9 \0 i: y. b$ ], s% ]1 U~~~~失败~~~~~~
0 Z% f# v- L. I, _小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
7 s9 p/ S* G' ^0 F3 B7 ]2 }# Xhttp://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
) m/ T6 h; n( b) z/ d8 @1 c* d; y- `3 a' O) \% H
COLDBOOT:
$ i; W2 u& n9 g6 a( |7 m9 j  BCLI! I" d" ^: K/ i7 b/ E( `
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ O4 V, `  L+ k;; 1. Enable big real mode
" m+ e) p. Q  `! i) a;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9 N6 @* V% u# {5 h! R6 x7 n
....0 \1 e( b% S3 P
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0 s; T1 Z* P- p" h1 B;; 2. Set RCRB base address( C7 G1 s2 \. Y; M+ D5 ]) K
;; 3. Config ICH9 Register
$ E1 C2 E  z7 z;; 4. Out 99h to Port 80h" w6 \! h3 \+ F; s
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
" z6 p) A& S& [2 h$ t, K) b....
( `: u$ w$ g: b* A( o2 Emov dx, 0cfch
2 z6 [6 g9 V! d' a7 J' Zmov eax,RCRB_BaseAddr
+ K1 n0 O" `& O+ k0 ?1 a0 B/ b5 bout dx, eax
' V. r8 G& B. j) P7 G....; m7 n4 A- o& c1 u8 z
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC* L/ I) i2 ~* h; E7 V1 [4 {" g( O
....
! b( m' S$ Q5 l/ ?" WfPostCode:" X$ X7 R5 S& _# R8 _1 y
mov al,099h
$ t5 C. Z1 v, Q2 nmov dx,80h+ w$ E" N1 ?' m
out dx,al
, ^0 L8 W0 q' V8 J+ Pjmp fPostCode ;無窮回圈ㄧ直顯示99h
' \# \( i8 Z( W, |. @, E...7 B4 W/ M$ X. D' e3 F$ A
...
$ ^8 y; q# z. Dwbinvd ; ...begins here on power up
$ e7 z1 l6 I4 B& J; K$ N0 OPUBLIC POWER$ k* N2 e1 [1 A
POWER:
7 P3 c: ?+ W. [& LJMP COLDBOOT ; first jump
# P- o8 v9 y, I5 w- _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-11-4 00:19 , Processed in 0.048456 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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