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

進入 big real mode 會重新開機

[复制链接]
发表于 2010-10-8 12:43:38 | 显示全部楼层 |阅读模式
Hi 各位高手好
, h' }4 Z$ x: j2 {以下的程式是我修改網路的一段程式,我把他修改為,讀出memory的值,並顯示在螢幕上,但是我修改後,當我在DOS下執行它,電腦會自動開機,想請各位前輩幫我看一下,是哪邊出了問題,因為目前的我是沒有頭緒的,麻煩你們了,謝謝。& A, d: j, E" }# j1 H$ {/ }4 W
;---------------------------------------
5 C) }9 A5 I: K9 e- ]" s
& h5 v8 R# a8 G: G.model small2 t2 c9 c: z  e* P3 K/ e. C2 ?
.586p
9 V! u4 ~& H; Y5 w.stack  8 V2 n; N5 J$ \) m0 [
   
/ @2 C! a' Q: L- Z! o.data) n+ {' ]$ I8 j! \

  D* Q: L) R7 A' eDESC STRUC3 S: o/ \+ |+ d
  LimitL DW 0  
  _, f/ `* l6 P/ M1 K0 @& f& e  BaseL DW 0  
) A9 P; f" K" n  C- v+ C  BaseM DB 0  & D7 s# t7 _& x4 a
  Attributes DB 0  ; Z. @  X$ r0 x, z# Z9 C  t$ u. E2 V
  LimitH DB 0  ; e! M  E, Q, _
  BaseH DB 0  : x4 Q5 z! ~, A+ ]4 S
DESC ENDS' o6 I4 I( [3 a

7 |& g6 E& V; o0 @0 wPDesc STRUC
+ A% R9 W( F9 u/ {1 Q  W% h  Limit DW 0    M* T; m7 u9 l( U  V7 T
  Base DD 0  9 `- ^' ^/ A+ H  T3 [  s7 Q
PDesc ENDS* V" o7 H7 b' V# s. n6 j; R

# R, R, Q: i3 n/ w6 h9 RGDT_def Label Fword
7 ]+ n8 P6 N/ O$ l9 V" U- j6 {Null_Desc DESC < 0h, 0h, 00h, 00h, 000h, 0>$ i$ b2 n' @3 U& @6 E$ E  r
Data_Desc DESC < 0FFFFh, 0h, 00h, 92h, 0CFh, 0>
7 [; V6 e/ X( p9 x5 c: S; ~9 t
6 N& ^6 `3 x: d- S9 @7 e9 hGDT_Addr PDesc <$-GDT_def-1, >
- m" Q/ o0 t5 Jcmd DD 255(0)) u' i) J/ Q0 o+ g& q

; Q. k& |- W5 ~4 V! F  A+ X.code
: c( ?2 J7 i8 R, r7 K; f, J: _( f0 dmain proc( }. d. S9 @& [  W- ~, |+ {
  call Set4gb! z  d0 _& b4 R/ p; _; w: @

/ R* L9 ]+ B: \" [# h  mov esi, 20000100h% J& |. I- E7 x* u# d+ W5 y! I
  mov dword ptr fs:[esi], 055aa55aah
$ d3 i9 y$ z) j; [    # ?# \, N: C/ [! P4 ^1 m6 t" N
  .exit
( v4 G- n3 @: [9 j$ x! y( P: ymain endp   * h: d+ V/ Q, a7 d  m5 i  x! @/ \
6 V+ U# e5 q6 l! |
Set4gb PROC NEAR
% `3 B- [2 |9 O5 J$ a; o  in al, 92h% A. j) l8 @0 C
  or al, 002
5 h2 I1 i4 j2 B4 P  E- R  out 092h, al
5 r3 r# O& P" @  out 0edh, al& b- w, O, H: `8 m  f/ b3 Z' _

) }( W2 w. L( L  cli1 Z: C! ]( L: f- s

9 Z) p# l* H( h8 v3 ^- I( C9 h  mov eax, ds
+ P; E  i8 V- C$ U! p$ n  shl eax, 4
3 a+ q' A& \5 @  t5 X+ u. u' Z3 f  xor ebx, ebx9 H. i' b2 {6 B+ ~) g
  mov bx, offset GDT_def
: [$ u) |. _0 f* O# }  add eax, ebx! a- B) h6 F& w  M0 ]  J
  mov dword ptr GDT_Addr.Base, eax
: j  ~7 |! Z& n. y  lgdt fword ptr GDT_Addr) m) T0 @0 ^+ x; p5 k  }% H

# L5 A& }2 N+ }5 |  mov bx, 8
  X: [% G2 I' v8 w# f4 `  mov eax, cr05 A; J( W" d# p- O( ?! n
  or al, 1
( Q" I' I! }) [  l5 U  mov cr0, eax" Q* f; [8 z9 D, Y' b. D
. k( _9 G0 b. W7 W
  jmp pMod4 V2 X6 x6 W: `+ R0 ]
  pMod:
/ F1 i: z6 _+ {! @# }! k; w6 x
$ @, O" r  M0 ~  mov fs, bx6 R- o$ y: x9 R  a- X0 X$ P) e) F! E
  mov gs, bx
- ?6 }; Z+ B4 w- H$ j- C; t3 T: |: L  and al, 0FEh
1 H: V2 B+ m/ M$ _) o5 U. O6 u- K& p  mov cr0, eax: u2 m$ O" x1 b- I
   
- s3 s2 ]  I" ^+ d. E  jmp rMod% u6 g1 p6 M9 r2 B" ^& S: k
  rMod:
! i7 Q, |; ]. _7 R. g' C
9 V9 b! I3 o$ u' y/ n$ ~, _  mov ax, 09 h4 ~. p9 _" T8 j" z/ N- L: _
  mov fs, ax& W. v, m+ k. ?2 E* I% o) x
  mov gs, ax
! }5 L3 {! U4 j* _) k5 Q- i2 X' d    7 m! r6 u& q/ p# A
    5 I) N" y% C. W

4 N" j5 B/ b5 ~3 Q0 ~  sti
- P6 L- H5 c- G  U  F0 x* s  ret  ]. h7 I5 l0 p0 ]9 u$ v
Set4gb ENDP
$ S" b7 R5 b% a    7 c3 B0 B0 W0 d0 B
end main
您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

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

GMT+8, 2026-11-4 00:16 , Processed in 0.045268 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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