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

進入 big real mode 會重新開機

[复制链接]
发表于 2010-10-8 12:43:38 | 显示全部楼层 |阅读模式
Hi 各位高手好
  {5 Z0 f9 q6 w0 S, e$ C/ W! t以下的程式是我修改網路的一段程式,我把他修改為,讀出memory的值,並顯示在螢幕上,但是我修改後,當我在DOS下執行它,電腦會自動開機,想請各位前輩幫我看一下,是哪邊出了問題,因為目前的我是沒有頭緒的,麻煩你們了,謝謝。" k; d: _: ?& e( h  e9 o
;---------------------------------------; Q5 n# K) @  |) h! |* K( A

' E! \8 b$ e, m: D8 [: I.model small
+ W4 b3 g. s! v2 F- V) @.586p; E. R, N1 T+ O) P* M2 v4 K
.stack  6 J! J( W4 m' ^/ K/ ]8 W4 _& C5 T0 E
   
+ T* i; J3 i4 v/ b3 E.data6 t- M4 Y% {" l; G. a
% u7 m# W! ]1 J0 u. v, q8 R; Z; Q
DESC STRUC
4 {0 b7 a9 \  `$ N, ~% o  LimitL DW 0  / A2 h7 w6 g3 ^5 l
  BaseL DW 0  
  r  v! f( W8 e' }. O2 R; l% d0 j1 e  BaseM DB 0  
* R" z/ h' R$ p" F  Attributes DB 0    i0 L9 `" J# E; M  W
  LimitH DB 0  
' t6 J0 T4 D$ Q; w8 M  BaseH DB 0  
2 b8 v7 D1 w% Z6 ~DESC ENDS
4 J! l" W, [* f6 M
" [9 E7 [$ p2 X3 sPDesc STRUC
5 C0 f- M8 S1 @+ i% p  Limit DW 0  
& U# M+ O) V. f  Base DD 0  5 O% {) Q" B. q$ h7 _
PDesc ENDS
% {5 y+ s2 ]) B, S6 ~7 S) O
6 B: ~$ G3 k3 {GDT_def Label Fword
1 x2 ~6 z$ B9 i. }Null_Desc DESC < 0h, 0h, 00h, 00h, 000h, 0>: S+ D! D, }% L% @2 ^
Data_Desc DESC < 0FFFFh, 0h, 00h, 92h, 0CFh, 0>
, ^8 j- m( k( d" s4 ~8 A1 R* y0 o- `1 T6 E" M2 p  L
GDT_Addr PDesc <$-GDT_def-1, >0 L' A4 ?( j3 ?$ F
cmd DD 255(0)
. D4 Y1 Q. f1 [/ \4 t8 N- a9 W% y* |: `9 h. ~! [( O: E! K
.code
7 R" }( v6 x0 H3 B6 N' X0 }, @7 Qmain proc
! H: W, g( W- ~, \- n- G  G. D  call Set4gb' ?  G, X: s( {# W0 T$ p
7 h4 s, v# z! ^
  mov esi, 20000100h
( z; l! _/ @4 @. J  I  mov dword ptr fs:[esi], 055aa55aah
/ {, p/ V4 _* m# q7 o    ; c5 K5 Z! N+ Q5 ^
  .exit
' n# l9 z* U+ ~main endp   - R- i; z2 S; t9 N

5 A; w- o: {0 @; `- A9 d( {/ XSet4gb PROC NEAR
0 S. H6 S" H9 t3 G7 c2 _7 Z, }  in al, 92h
1 P2 `$ v: @+ u" Z3 F9 r3 ?5 S  or al, 002
( h" Z1 Y& e4 f7 l/ d( u  out 092h, al% E+ ?  V+ Q& \% B; R" U
  out 0edh, al
7 E  D1 A+ I: G. V+ t6 |! g. D2 {5 W- W& \
  cli
: ~$ |" J( ]: q- F3 j  r5 A: j1 Q, W- ~8 c. h  w; Q% z) j6 D
  mov eax, ds% D9 G+ D- F9 S# h
  shl eax, 42 b, U& d2 M( K0 c% d
  xor ebx, ebx
  G5 ?% u% p1 C3 j  mov bx, offset GDT_def8 w0 k3 f- Z' D- k% u2 Y4 m
  add eax, ebx" o& Y8 q& q% J" v, n) [- [: U. }
  mov dword ptr GDT_Addr.Base, eax! z1 j8 o3 n+ X* [0 |
  lgdt fword ptr GDT_Addr) J1 V" k( W- N7 X
2 A8 k5 F, }4 `5 F9 p! j" Y
  mov bx, 8
( f3 A6 B) \( N4 i5 e* D$ k  mov eax, cr01 U3 o3 v) Q& ~5 M8 |
  or al, 15 X* Z7 S, @& o9 C8 P3 V4 m' V
  mov cr0, eax& s- ?9 [& x6 @# Z7 l
9 q, ~. G/ ]& {& f! p# I! T4 `
  jmp pMod
( p' x$ ^) k6 I9 }9 `" \  pMod:
6 d7 H5 R& d8 e3 _* O( k1 K0 E5 W. j" |0 g# Z
  mov fs, bx
* [; _' x8 n# n* D  mov gs, bx% u$ i+ ~7 R6 ^2 I& Q6 t2 h9 h
  and al, 0FEh% C/ K: c7 Z5 k) d
  mov cr0, eax' ?4 t1 c/ k3 v! o3 \
   
& d3 J0 p8 |8 Q% L, t  jmp rMod
# a! B# G) P- m  rMod:
4 `' L0 ^1 p# D# P+ R# |! y
: C! `, n4 N2 m4 f: m  mov ax, 0$ B3 x0 A- K( M  v3 A
  mov fs, ax, @! A5 O7 {. |3 h  p
  mov gs, ax4 \( o2 Y/ c: B( P
   
% x/ z5 _, W; U3 j* e( Y& M6 F    ) Q* Z$ e: n: u) l% y. c) B
' I% R) V* ]3 w7 c7 M! p
  sti' a8 a3 E, ^- b- l  ^  x  p
  ret
7 U0 P& Z3 \* Z0 Q- kSet4gb ENDP& C5 t: h4 c# F% j' X+ L2 u
    : ]' C' A; E. d$ M) P3 v
end main
您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

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

GMT+8, 2026-3-15 06:44 , Processed in 0.090353 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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