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

关于port80的问题~

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

2 ^  s# u7 z5 \+ q( S2 x*.asm中
$ n3 y9 o6 |) X$ v% u* X1. 对ICH9 中register RCBA Root Complex Base Address 填值。8 a+ n* E0 f# `5 Y
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
! [3 c! ]" T" F0 I- T) H  o! T/ ~3. 向port80 丢值。( G* I/ `3 _0 N) l/ |. m' b/ `
*.exe
, `3 t7 O7 z8 T; J4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
( t; D7 z: ?7 f& A7 G' T" O*.rom' Y* Q  M0 K/ {9 q; ]! W: A3 Z
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000( N" C+ f7 N$ z9 \
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。. T) x& _9 O2 `4 _
7. 用烧录器烧到ROM中,开机4 B! A5 E' C5 E5 J
~~~~失败~~~~~~
: O# T5 _' f+ Y* ~小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
- |6 `0 ~9 X9 J' G3 L; Zhttp://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
; D' X/ T/ @3 ]+ e/ z& V, A+ }+ U% g& @% G) o  C$ m
COLDBOOT:+ K- v! y, w- O+ ^, W9 ?6 x/ G
CLI
+ M" B5 P1 o0 u4 v& y" T;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4 j! B% w; U" t! Z- D& i# z9 y;; 1. Enable big real mode
) j+ a7 e8 y; G# R' B* j2 G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
! E* p4 L* K1 \: h7 N....( g+ O* }, c" [
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ _, h( {- ~* H8 @! B
;; 2. Set RCRB base address; G) w" J5 _# n+ S
;; 3. Config ICH9 Register% d. s* F; S4 r5 U7 i# B2 t% a9 g
;; 4. Out 99h to Port 80h/ u! `0 F5 @, C5 S+ O
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
. [$ F! U7 @: H/ O....
+ E6 I* T' s7 Z2 _mov dx, 0cfch& e6 M* |* V3 k, s7 k
mov eax,RCRB_BaseAddr
7 ^% k0 f. e. _( Q1 }- @out dx, eax5 o/ H' d  A' N6 E5 v! b( N. `
....
2 r  W; m9 n4 ~+ M: C1 u9 h: V2 j5 Band BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
0 m$ e. C: P+ L3 v+ y1 X6 Y....
: e4 f8 c! A9 \! ]/ ~fPostCode:
0 x/ {5 M  Q. G! a" [mov al,099h7 h. ?. v5 B2 I2 }& D( T, S. M
mov dx,80h6 B4 h& }- h2 \5 N; D  \
out dx,al: a, L+ M4 v( A, V7 p
jmp fPostCode ;無窮回圈ㄧ直顯示99h" }' Q2 G# D0 `
...; x  S# M+ ~8 m
...
( w1 ]( E+ h8 F+ b0 X5 E8 |, X- Xwbinvd ; ...begins here on power up3 _* K: d5 [2 }. k
PUBLIC POWER9 |1 u2 G) g' s; H
POWER:! h  ?$ _# U5 |7 v2 C# `
JMP COLDBOOT ; first jump
8 x6 W2 Y; W4 z8 {6 l/ s3 T$ ZDB '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-6-8 08:14 , Processed in 0.042104 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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