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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
; W) r9 W9 u1 Y( L. K( |
" a5 k( q: ^5 I5 L" E  u*.asm中" j  H# ?( q$ [' {
1. 对ICH9 中register RCBA Root Complex Base Address 填值。
! Q4 m! {/ `# t) M, L) i; l2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。: S" l3 v! j$ j
3. 向port80 丢值。+ f5 {2 I% \, a" A
*.exe
8 {; X+ m8 i. ?* R$ K/ Q4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
- S8 [2 r& z- G+ Q" r' v*.rom
, w8 \  {( r4 u, [3 N) ^5. 剩下的代码添加到一个*.rom中,位置是ffff 00001 H9 r8 q* b( _' I: n" ~# E
6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。, q) a0 {, P4 Z7 z0 N; Y
7. 用烧录器烧到ROM中,开机
, i/ E& T% A: ^~~~~失败~~~~~~
! c- C7 W9 p0 d$ P: v8 r, n  ~- y小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...
& k0 C) M  U8 X+ D8 c  Xhttp://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......7 n3 x6 v) z6 }3 c3 o! \

, `+ Q. v& J2 }5 s) w+ G: xCOLDBOOT:' @1 f6 v$ W# z- R1 z, ^0 M/ N$ X. v
CLI
! V& _- J# t- i$ m- X4 z7 o. ?;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
% |  W  l' P% M! Z- a/ R% h;; 1. Enable big real mode
) f* \! s, o6 B. g/ V* W;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ o: Q- d8 Y- T& ]% ^
....
6 b! `5 N; p! j;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
( x- z# k5 @; Y;; 2. Set RCRB base address: s2 q! E, D, S; _! R: P
;; 3. Config ICH9 Register6 M; g/ v( e4 h" }( n1 D6 V) b: t
;; 4. Out 99h to Port 80h: l7 h- p4 e. Y; Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;& n' R. k$ x# v8 t" y6 F: h* R
....
: m: J8 Q' s( c% ]7 w  v3 ]mov dx, 0cfch  G; z* k2 N; @: `7 X
mov eax,RCRB_BaseAddr8 F5 e3 h1 n9 {" F, ?& o
out dx, eax+ D# Y/ f3 a' g  x/ K
....0 u& \1 z. ^- R3 Q
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
! @0 d1 K' z1 g6 r/ r: w( f+ `....
" L* Z4 k5 F+ k- L, Z+ |6 }1 x% cfPostCode:  k5 l0 z# F/ ^3 ^- K* B
mov al,099h" @. ^. g$ j" P. u" O% L
mov dx,80h
: ]6 w3 k3 X- \! m8 F0 X# M- _3 }! tout dx,al
4 L% P0 ?& w4 `* qjmp fPostCode ;無窮回圈ㄧ直顯示99h' n- |4 f9 }7 `- y- J5 `
...$ s7 M+ @7 I3 ^; N7 |1 m4 H
...# B( D4 j% y% Q; x. S2 x2 ^
wbinvd ; ...begins here on power up
2 K5 N* D: y8 S- }  |& D- WPUBLIC POWER# D& m& y3 z- j& u; P+ G6 ^
POWER:
" n1 {% Z$ x# O9 c/ J3 L( XJMP COLDBOOT ; first jump
4 t) O# g9 }* L: z$ a( CDB '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, 2025-3-5 00:14 , Processed in 0.030914 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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