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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
2 u! J  @$ @( H* Y
( y3 e5 \  z6 ]4 S" {( {*.asm中
$ u+ s0 l0 m) S8 d1 I# p2 Z3 z1. 对ICH9 中register RCBA Root Complex Base Address 填值。
6 J8 F+ C  I- o& e" |; m1 k2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。
. s6 H& \* p+ w  G# a, A& e" Z3. 向port80 丢值。3 `, ]# T' p% z
*.exe1 R' x0 s; A% v6 h
4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。% c& k- l2 t. O# G! l
*.rom
+ N( ?8 o' H8 z& o7 ?5. 剩下的代码添加到一个*.rom中,位置是ffff 0000% s6 o. h% b. T1 A$ Y
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
4 B7 G# s9 Z" I7. 用烧录器烧到ROM中,开机
' Y1 A& [; t5 v~~~~失败~~~~~~* g7 X( e+ p% C2 l5 z1 n- H' D
小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...$ G# [) `4 \$ X3 A" W4 s
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
2 Y% f3 p, s- P# m9 J, b2 W) ^. x% _
% N2 }8 G, h% ^4 A* zCOLDBOOT:
9 I* B8 U/ |8 f' y" d* {, LCLI
2 O5 \6 _4 m2 |! L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" k  I3 O3 g2 ?" x
;; 1. Enable big real mode' ^) n  \* F. S. g4 Y6 Y
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
, E. Y$ |& O0 y9 y....7 M' c& L, ]" e8 s4 r  N
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
, H0 w4 {( v- z  d; V! d3 };; 2. Set RCRB base address) Z  _! ^8 Q; U! e
;; 3. Config ICH9 Register
  s- a0 V# e, j;; 4. Out 99h to Port 80h( e4 H) Z3 K( j5 R. o3 D% K# x
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9 v4 s- ?* F3 O; `) u
....
7 w- n( j8 B, y1 ?) m6 cmov dx, 0cfch1 X6 J2 E( I3 Z" q- ^5 c
mov eax,RCRB_BaseAddr/ s- Z" G5 ?1 S# m6 s# f1 ^
out dx, eax
: A* }6 j4 a& a& ^9 w7 S  f* S....
- W+ h5 i* W: y) f% ?# xand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
! I! v4 L( ^9 r/ o  ]$ C; r....
: Z4 u+ u- D6 c* PfPostCode:
: ~6 V+ k+ F& @( @mov al,099h
. `- V" B( V+ M4 umov dx,80h
9 c( \, L* U5 C7 |/ Zout dx,al
; c' [0 _/ u) x# h8 q( K' Fjmp fPostCode ;無窮回圈ㄧ直顯示99h0 `% ]- Z7 V7 T# Z$ {" p( P4 R
...
. t6 a5 r# b; e; P1 ]7 p...+ p6 f, \" `7 A' c# I+ x
wbinvd ; ...begins here on power up5 }' W+ c1 t' s: Z) ?
PUBLIC POWER7 |! z0 {. a0 q# ~+ z4 i
POWER:
' ~1 C' q" q( L; BJMP COLDBOOT ; first jump7 b2 m# h$ i' l+ G; t5 l
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, 2024-12-24 01:29 , Processed in 0.039704 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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