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

关于port80的问题~

[复制链接]
发表于 2008-7-5 22:21:09 | 显示全部楼层 |阅读模式
想手工做一个简单的bios。就是能开机以后从port80丢出一个值(从网页上看的,但做了以后不行??)~~~
3 y  J- a+ P1 e+ |' [' Q7 b" v, `) r0 ?- ]5 \
*.asm中6 D* c# b$ x  Z3 K5 W+ r/ `$ y
1. 对ICH9 中register RCBA Root Complex Base Address 填值。0 W$ @/ V8 ~* |* O; g' c% h' o
2. 进入 Flat_Mode 对 GCS(Reserved Page Route) bit2 支0,让port80 走LPC。+ K/ n, b; J% M: p
3. 向port80 丢值。
+ c* b* J; j8 ?% ^5 L/ x- \*.exe
* P8 a% B; k/ V( U- n4. 用 ml。exe 编译*。asm 生成的*。exe, 去掉头200h。
: h! n! |: v3 x2 q+ K2 {*.rom, ?) ^5 S* ]; K6 l' ?
5. 剩下的代码添加到一个*.rom中,位置是ffff 0000
$ O2 G) d% E" |7 p) A6 z6. 在fffffff0 放e9 0d 00 想跳到ffff 0000执行程序。
3 g3 b# T1 Y- u# W4 @  X: X0 Q7 _+ ]7. 用烧录器烧到ROM中,开机" A/ _7 J; V+ U, X( h: _
~~~~失败~~~~~~
* A+ ~2 T9 R" G5 y! `# L1 k小弟才学bios试了一天还是不行特来请教~~~先谢谢各位大侠了!!~~~
发表于 2008-7-8 15:33:17 | 显示全部楼层
可以參考這邊的作法...* v2 r1 v9 a) W8 s) @+ j
http://biosengineer.blogspot.com/2007/11/x86-bios1.html
回复

使用道具 举报

发表于 2008-7-8 15:35:49 | 显示全部楼层
做法如下,我把它貼出來了......
, x1 S' P- W1 p- V; b  K, N. Y- B# a/ c& d# j# n2 H1 h6 X) L
COLDBOOT:5 T% U+ f( W- H" c! a' k2 M+ G
CLI, e5 {! A2 s5 k' t, E0 H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ e1 p8 R0 c) M7 ]  h;; 1. Enable big real mode
4 k$ |4 ]3 ^0 f/ {4 s;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;& u" Q& ^* D; e! y6 {' L2 `
....
4 r: k8 t* p5 m1 y;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
: i1 m$ k$ |5 p+ B+ S6 d;; 2. Set RCRB base address0 y& q9 S/ C2 t, p
;; 3. Config ICH9 Register3 Z0 c1 `$ A5 A! j1 s0 B: ?* Y, h
;; 4. Out 99h to Port 80h
0 I  y1 O  [7 o/ L2 S4 I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;% V1 I+ }9 b! |$ _* c' f
....8 |3 o( v/ J! N: d& R! w7 S' T% w
mov dx, 0cfch
3 |% f! L0 U4 o; Omov eax,RCRB_BaseAddr
' M2 M7 k. M1 z7 i  m( M5 \out dx, eax
& Y7 p$ d( H3 u1 i! O' `- x....
; I8 {% {9 }; `* d+ Iand BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC
4 Z7 [; Z; l9 s$ q2 i- ~: w...." X. j( v# p" T
fPostCode:
# s# i4 _. G/ c; G- Q; Umov al,099h# `4 ^, i$ p0 G4 z$ \  D" z
mov dx,80h) Z+ j: b, X4 A5 R: a& d
out dx,al( m# W6 ?; L: W. ^
jmp fPostCode ;無窮回圈ㄧ直顯示99h) T3 M5 ^, [6 Y0 e/ c
...- n% M6 [. F7 L- i3 Y5 K
...7 L. A0 s1 i' r  U; C5 h; A
wbinvd ; ...begins here on power up
# r$ [2 s- G! k+ |# g; NPUBLIC POWER, }: [: Q% F+ W+ u7 v
POWER:
3 q7 u' t- F4 [JMP COLDBOOT ; first jump
" K+ p: K/ `  p& i' s, pDB '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-11-21 18:44 , Processed in 0.027703 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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