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

進入 big real mode 會重新開機

[复制链接]
发表于 2010-10-8 12:43:38 | 显示全部楼层 |阅读模式
Hi 各位高手好
6 `7 `% V. g- J* d  M9 q6 N6 z/ L以下的程式是我修改網路的一段程式,我把他修改為,讀出memory的值,並顯示在螢幕上,但是我修改後,當我在DOS下執行它,電腦會自動開機,想請各位前輩幫我看一下,是哪邊出了問題,因為目前的我是沒有頭緒的,麻煩你們了,謝謝。# ]$ w; ^$ n) ]1 Y( h3 X0 n% [
;---------------------------------------
/ L+ A3 D( z* L' i
8 I1 R. I! J8 G' E.model small; h5 a. d% m# d
.586p- ?5 G  H! j0 E8 u4 i! V
.stack  
! k" ~" P& b' T" `: @, w& Z    & C, [7 j* X( x* Z6 x1 ?
.data. g: ?8 f) s: u) s* v. \
$ o, W& @+ O; R& B
DESC STRUC) f" w/ X5 I1 A6 M3 C  i
  LimitL DW 0  
1 p, v; r- P- f6 d  BaseL DW 0  ) q* [* v  i, I/ {$ R. R* c/ H# a
  BaseM DB 0  3 T' `; Q. q# }# d  l5 B2 B) X
  Attributes DB 0  7 ?5 r# p5 P0 N9 }4 s" `
  LimitH DB 0  ; B* P6 S4 I' X) Q& F+ z  ?* a  l- ?
  BaseH DB 0  3 ^0 X: ~6 k4 H, M
DESC ENDS
% p  f/ U$ u- N) d4 W7 V( R/ C' P: f
9 z! p% [9 T) T1 v& BPDesc STRUC
& s; e# e, w9 h6 g) C6 s  Limit DW 0  / C6 x; S0 p1 `0 {0 Z" P
  Base DD 0  
7 J; p' o9 X( ?! dPDesc ENDS7 X) K1 u6 z% f. Z$ f% K
. [0 U/ P% m* r
GDT_def Label Fword
7 u; O" E' f& ^9 b/ nNull_Desc DESC < 0h, 0h, 00h, 00h, 000h, 0>- U) ^6 B7 ~" r
Data_Desc DESC < 0FFFFh, 0h, 00h, 92h, 0CFh, 0>4 i/ @2 B2 B' g4 d4 z$ {
* A& ~7 L; B0 c1 S8 ]0 i
GDT_Addr PDesc <$-GDT_def-1, >
! h/ W  a; P; V# F2 |0 N7 kcmd DD 255(0)( N* A$ j8 ^" T7 n
% F& o0 Q/ e5 k9 C6 T
.code
6 w* N# t. n: L6 f% X( c4 cmain proc
( x- l& f+ O2 n3 N4 ?  call Set4gb' m, P: g/ q0 E

+ G, c3 `/ N* b( j9 s8 M  mov esi, 20000100h1 [4 F5 h* h3 f5 d9 I. d
  mov dword ptr fs:[esi], 055aa55aah
! c# }. U8 m( Q" ?2 G0 V   
2 T. I8 x9 ^! T. W4 O$ Q  .exit
( A* s; w! y* Tmain endp   
9 C, u! Q$ I2 M# ~+ Z8 Y' v: U$ L1 t6 m+ q: n/ B
Set4gb PROC NEAR0 @+ Y& H  B  U& C- J' F
  in al, 92h
5 b- Z6 a7 W7 V. }3 k2 M/ w" F9 v) t  or al, 0027 D' _2 y- H9 ?! X- T2 j
  out 092h, al6 n0 s' @" w( e$ A& t2 U* F. {' d4 }
  out 0edh, al
8 r/ W( n' |9 i$ N! s" w2 o! I. h6 \. @0 F; R
  cli
0 {; A( H: ?0 @: Q3 s6 n% w
* s. R- S/ P+ @: m  mov eax, ds
" d# V! J* L; ~5 u1 q. L, a  shl eax, 44 D* O! v# m" @; H
  xor ebx, ebx
) W' ~2 h8 z; Y5 e- s& x, i  mov bx, offset GDT_def
2 _! y! O$ X6 g8 q  add eax, ebx
2 S# P) p8 ]* f$ l- k7 Z3 o  mov dword ptr GDT_Addr.Base, eax
4 t  ^! L" ^  X7 L) q# P  lgdt fword ptr GDT_Addr
( T( c3 |) y0 ^0 f7 \( I4 I1 g/ o, _9 |; e! h7 t
  mov bx, 8
2 M2 _: E- h+ z# j  mov eax, cr0$ V: y+ t2 |% f$ q3 O
  or al, 1
8 K) v1 D& X$ F2 F( K3 N& m  mov cr0, eax
$ o. s/ T. {8 `& s
7 ~, C$ z- _; k5 y# @  j  jmp pMod
& C4 j; _. M% U3 [2 D  pMod:% d8 q# Q0 s' f$ ^$ {

+ e0 M3 j" e  h! \  mov fs, bx  X1 `' H4 v4 d3 g, r
  mov gs, bx
, v+ u. Z" A# I  and al, 0FEh" O5 L2 P+ Q2 n2 {! |0 j
  mov cr0, eax
2 A3 ]! l- D6 ~# P# z    7 @2 [- h5 C! r' k
  jmp rMod0 ]! ]! _9 j5 e
  rMod:
7 f( u' f& b/ ~6 s9 ^5 k, e( k( U. F+ r+ Z" h7 K. L
  mov ax, 0! D7 X3 G; c1 F8 u* \2 T$ i
  mov fs, ax+ A1 u6 c& B$ Z6 H
  mov gs, ax8 W1 c( w: B: v' h4 f! I: O( h
    " g0 r! J: ^; ]9 r: Z$ N6 f
    , S# n  ?/ o" q

0 {( Y$ c: b+ `) `9 o( L  sti
# w! V4 v, }4 \1 P  ret7 K' P  m4 l% f& _9 n' \$ x7 \
Set4gb ENDP( j5 ?1 @5 g# y. e- X; q/ l2 T) o
    8 ^3 l! b/ P- \: Q* i
end main
您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

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

GMT+8, 2026-10-12 08:43 , Processed in 0.072366 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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