|
|
发表于 2008-7-8 15:35:49
|
显示全部楼层
做法如下,我把它貼出來了......- z2 i2 B9 J( w1 M/ j8 ]
; E4 n3 `+ f; P5 ~) y; GCOLDBOOT:
' v8 V# v; |& m9 NCLI/ S0 ?- f s9 i) \. H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3 f. X" X- I( U+ g2 x6 X1 o0 \; c6 v4 w
;; 1. Enable big real mode" w& } N7 u+ [; V* x
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
( s, j i& @ D2 M- r: y3 F....
9 ?8 |" ~# `0 d) {4 k8 L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
! H1 W1 F6 b$ H;; 2. Set RCRB base address
S4 K, b; V$ x- h+ e;; 3. Config ICH9 Register
`5 W$ X; |" d, E5 ?8 |5 p6 i3 T;; 4. Out 99h to Port 80h
' _3 n: d$ C B7 E% F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;. g2 C% R8 G& b1 x
.... m8 P% h: P% e" E
mov dx, 0cfch
, Q8 z% m' s% ~( Y" `6 cmov eax,RCRB_BaseAddr
+ X" u8 f; T/ o" O$ Sout dx, eax$ O, W, @$ v* q8 t+ W2 r2 x2 B
....9 e$ e# U, n: J8 K0 C
and BYTE PTR es:[esi], NOT (04h) ; RCRB+xxxxh bit 2=0 Output to LPC5 S$ J/ o! ]9 x+ o6 q. F
....
! _+ r" P9 J: V9 FfPostCode:
5 r- W$ T5 v% q. v% J, n3 a) Vmov al,099h
- |; K8 W; f2 K. T# V& Cmov dx,80h
" f/ B r: }1 H: ^! D# J- u& `0 Wout dx,al( O, j' Q$ ?, I* C3 ]$ Y4 k
jmp fPostCode ;無窮回圈ㄧ直顯示99h
% N0 p) \! X% m" ~1 u: {1 `...
- j- V0 Q/ w, c$ l...! z: H: g/ V9 @2 \. s6 z
wbinvd ; ...begins here on power up
" i J' v; r. R0 d( P7 W* _PUBLIC POWER, O- M( F! h' J, W
POWER:
, l: `0 T! R0 j- OJMP COLDBOOT ; first jump
# A) H0 W# I$ t8 R$ sDB '11/14/07',00,00,00 ; My release marker |
|