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

進入 big real mode 會重新開機

[复制链接]
发表于 2010-10-8 12:43:38 | 显示全部楼层 |阅读模式
Hi 各位高手好
! O* N* w; e- b  R1 v1 \以下的程式是我修改網路的一段程式,我把他修改為,讀出memory的值,並顯示在螢幕上,但是我修改後,當我在DOS下執行它,電腦會自動開機,想請各位前輩幫我看一下,是哪邊出了問題,因為目前的我是沒有頭緒的,麻煩你們了,謝謝。! f& N" X, C( x0 g
;---------------------------------------
) J7 X* E- l$ S4 W! l0 U- F
5 E* b$ n' e3 l/ \' d.model small" ^: h& g3 d, l% {8 J! S7 F
.586p. F- j- |1 d* ^4 z) X9 e
.stack  1 T  q# t6 d0 c3 N, h
    : q2 A% x4 ~3 r: \4 o0 @1 z
.data
$ ]# U/ g9 F! F% k# ?+ O
+ F3 l' A& Y6 ]4 e; a6 ODESC STRUC
0 l2 Z7 p$ i- d; @! ~8 Y$ m9 U  LimitL DW 0  
# n9 `: A. |! ~  BaseL DW 0  3 y) E! }9 `, M$ t, J0 S
  BaseM DB 0  1 `3 O, ^4 Q5 w* v' ]. O7 o1 w
  Attributes DB 0  ' }  p' Y: r0 \: g* |* K4 o
  LimitH DB 0  $ t. ~7 [) ^4 a# F3 ^7 g
  BaseH DB 0  & C8 F; ]. t; t4 y. D
DESC ENDS
( t7 M, l7 }9 w4 Q4 x9 i. i( l" k/ Y- ?3 R! b' j  A
PDesc STRUC4 o6 _4 O$ e9 [2 ?* ^6 V# H
  Limit DW 0  $ m1 A( @+ F! U% [/ n: w
  Base DD 0  
: m. y2 t7 }6 v$ jPDesc ENDS
$ H1 j. J9 A3 A+ X
/ }) |0 N& ?' B2 ZGDT_def Label Fword
- c% Y/ O0 \7 \4 S! A% k  ONull_Desc DESC < 0h, 0h, 00h, 00h, 000h, 0>2 o# h6 @5 E  U/ I! b, F
Data_Desc DESC < 0FFFFh, 0h, 00h, 92h, 0CFh, 0>" q* b% x+ j5 e" J
3 ~$ l  d( G5 \# H7 r
GDT_Addr PDesc <$-GDT_def-1, >; @" W8 o8 @2 J+ K
cmd DD 255(0)& o0 r3 X% [; v1 U4 Z

/ _7 r4 E# I% ]9 G.code  q" S& ]. j: H" W3 g* o$ ]) J9 {
main proc$ @* r$ L" n! f6 E: o  e( u
  call Set4gb  P. W- L+ r0 p7 f- |6 R& l0 k' b

4 [& S2 r* L8 S: y  mov esi, 20000100h
- Q& J6 ]) ~' L! j  s9 r  {/ A& ^  mov dword ptr fs:[esi], 055aa55aah
* @5 E- m* m3 L   
& ]% S( k/ k# e/ P4 b9 p  .exit
& D% k0 V$ B1 Y2 [. _- q+ G% hmain endp   
$ }6 O# G1 f8 G4 s8 e
% s* W& J+ N* [; h, [4 K$ U% fSet4gb PROC NEAR3 ], |& W: X$ o' Z
  in al, 92h
4 n5 R" b; Y1 O7 ~  or al, 0025 a! E3 @( E$ ]9 h8 I  g; l. I
  out 092h, al
6 }. h5 [2 {* L  out 0edh, al! Y8 t5 E. u7 Z- p! `$ A% n4 e

5 j3 e, W$ f! ?- Z  cli
( h$ C, p' `$ {( y4 }0 @/ u' N0 L" z: W
  mov eax, ds
3 z. r/ a# I( F6 M9 [* c) w$ U- w  shl eax, 4
# U; @9 h4 G. X" ], `  xor ebx, ebx
5 P! \7 `( J- |# j: U* S+ f  mov bx, offset GDT_def
8 d) U: c) q3 v) C6 V6 W- Z2 e  Y2 w  add eax, ebx
, j# k, l6 G: x2 G  mov dword ptr GDT_Addr.Base, eax
: K( d" M4 T8 a- ?0 \* x( \3 I$ @  lgdt fword ptr GDT_Addr6 `8 ~& }! {! [) O0 @" ~0 x, {4 {& }
) I3 W/ q4 z; ]( ?7 L
  mov bx, 88 E3 T4 ~7 n8 [" h
  mov eax, cr0/ @5 d% M7 T3 o2 L& E9 o$ n
  or al, 1; d7 p" z! @: c3 c) S
  mov cr0, eax! e6 ]. y2 D& k8 ]7 Q1 s2 X

1 T  z% q/ ?2 T) d. F  jmp pMod/ p, L5 K4 t! Y  S5 E# w
  pMod:6 Z8 }/ d' v) E: F4 t

- \; a( Y! _' ]  mov fs, bx
" t  ]+ j- m$ a3 ]4 t4 V  mov gs, bx
0 {, i$ R: [5 U1 b/ _8 o/ x8 W( b  and al, 0FEh+ ?5 |; Z, |# U2 t7 L
  mov cr0, eax
0 Y( Y1 r6 v: |6 j   
; z  [" g6 `( k1 t4 [/ e" Z  jmp rMod  o1 `) p. N; c
  rMod:
; F6 I( N6 c1 I' k9 \
! Q- v4 h! C, U9 X  mov ax, 0; x: G; T6 F; v- L! E, C7 B$ ^
  mov fs, ax
: F: k1 i' u9 ?" B  mov gs, ax: |9 q1 k- T8 p% N0 I1 B( V" `
    2 \$ w& }$ l& o$ h1 A. B
   
$ _0 }: R, H+ Y) l8 A' q9 i
' \. b! S  Z; N  sti
( |  s8 B7 }  m% I) [* ?  ret
9 a6 o! |& E+ U+ s# T  Q2 R2 P$ M5 HSet4gb ENDP, j, a& }. z/ c; z' H: j3 n
   
" g& v/ b" S2 g# {6 ]3 ?  S2 [6 hend main
您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2025-12-1 02:54 , Processed in 0.073488 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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