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

進入 big real mode 會重新開機

[复制链接]
发表于 2010-10-8 12:43:38 | 显示全部楼层 |阅读模式
Hi 各位高手好
  O% e, M# F. A. g, `. t8 [, J: v以下的程式是我修改網路的一段程式,我把他修改為,讀出memory的值,並顯示在螢幕上,但是我修改後,當我在DOS下執行它,電腦會自動開機,想請各位前輩幫我看一下,是哪邊出了問題,因為目前的我是沒有頭緒的,麻煩你們了,謝謝。3 h( V. a  L8 E. i8 ]
;---------------------------------------1 V4 s1 G+ q, H

5 g2 v, U" c  I: M6 ~4 m.model small
/ y8 O' |, \; z5 i  N% r.586p
5 G9 c. @* K( T- Y+ d# J.stack  
" m; P! P7 n0 N& d. N' p& Q    " \, x) R; {0 T9 G  _4 R! p) d( l
.data7 w4 B$ u. ~/ m/ h! w
: {4 e$ W( n+ e, v6 @$ g
DESC STRUC2 T; M$ E4 [* ^
  LimitL DW 0  : ^5 n/ O4 X3 p. K; }; n
  BaseL DW 0  
7 w1 N3 B' V# l  BaseM DB 0  / W0 L6 k4 i- y+ t# g+ L- K0 z
  Attributes DB 0  
4 ~& x3 `* v' i, Z  _  LimitH DB 0  1 R* |! g: {. Q$ [7 a8 a8 \
  BaseH DB 0  
# r5 I9 n: d! cDESC ENDS
- b; F- ~  g0 P. r+ E: Q
/ v2 Y. a9 R! G# T. IPDesc STRUC* g( \# N* }5 p" _  f5 H
  Limit DW 0  9 M6 I0 L: O: \$ _6 Z8 G
  Base DD 0  
( P; F8 s. d& O. U# k, ~( H! |PDesc ENDS
: n+ ?: w7 t  G; F2 W# @
# u6 j7 K9 F, [5 O$ ?GDT_def Label Fword1 K$ ?. b, g$ [& M* I1 j2 e
Null_Desc DESC < 0h, 0h, 00h, 00h, 000h, 0>2 g! }5 h! B4 ~
Data_Desc DESC < 0FFFFh, 0h, 00h, 92h, 0CFh, 0>
/ x; c4 r0 j4 }0 g, M5 R0 g# v6 g8 r) H0 H% m' C  C
GDT_Addr PDesc <$-GDT_def-1, >
5 s7 E/ X# D8 B* w, ^  ~% scmd DD 255(0)
# [8 f7 q9 {$ w* |7 Z6 o! ?
* Z- I2 o8 L1 n3 m& ?; W/ S.code) X: Z8 S8 Z: }7 v
main proc7 i1 I& w' K1 C- A( I
  call Set4gb; @) z5 R+ D+ ~/ H1 t

9 [6 j& o6 n. h% |: g" Z  mov esi, 20000100h% ?3 Z; X+ a8 f) _2 w
  mov dword ptr fs:[esi], 055aa55aah0 Z6 v- N" w- l" i! b8 M
    : O1 ~% m, W3 o0 I2 r4 |
  .exit
' O% W3 @2 c- ?6 N# A% }main endp   3 g; S/ ^) k4 W

/ M) w# M  x" g2 W1 G- RSet4gb PROC NEAR6 Y/ h7 }" V4 {3 h4 N0 d/ _6 E0 g
  in al, 92h/ p/ C+ A8 _. i- j, N
  or al, 002
2 t8 h) z% m- q  out 092h, al! T; H  c+ S  c; h$ g6 K0 l9 [
  out 0edh, al
1 S2 T% V1 O* U* }+ z, p& ^$ `3 G6 [" x2 r, w* K
  cli7 Z7 Y; i, \8 C  x- u4 f+ f) U6 h5 z
7 w$ E$ m( U! E; a
  mov eax, ds
5 X# l1 C3 z2 S" S  shl eax, 4/ b! @% S7 a) Y* }0 G% x# V: Z
  xor ebx, ebx
" q5 e$ x& |: I7 ^  mov bx, offset GDT_def
( g  `) P! W6 U, S" T+ Z2 Q  add eax, ebx& x8 G9 o. M3 u
  mov dword ptr GDT_Addr.Base, eax
+ o, E+ W: s6 `  lgdt fword ptr GDT_Addr
5 E" T( Q5 Z2 {$ Y7 l
6 z$ m& d  q" U6 @7 r' H- [4 ^  mov bx, 8
4 O/ A2 L6 K, r5 N1 o: x- U7 b  mov eax, cr05 y8 V0 ]. v6 X5 |# i( }+ H
  or al, 1
. b0 b8 [/ c+ p5 _% S; o  mov cr0, eax% H3 t, S2 A+ e, G' o" y; K5 t" o

' d# u7 h: W- e9 i; b( H& p" B$ {  jmp pMod$ X  D+ J, |- {) Z$ q
  pMod:% t3 r2 j+ M0 m- C, U; \/ @

0 h" q8 K# Z$ F+ z0 v8 n( Q, {- v  mov fs, bx7 i2 q* j& ~; r# p
  mov gs, bx2 V4 u4 g, O3 Y) j! A
  and al, 0FEh
4 Q5 J3 M# a9 ?9 C% R! K+ g1 J  mov cr0, eax
/ e. A3 }" B; s! t& h2 L    ( K8 h5 s! u( t+ y. S
  jmp rMod# ]! k' q3 U! J' D6 s& Z' t
  rMod:5 s- ]9 W, u- i; T- m& ~" f' p" Y

" R% P1 a/ L7 _) |& Y  mov ax, 0
. p( y% _$ b& B% [  mov fs, ax
1 ^; c6 o* }: K6 e  mov gs, ax* q6 A$ A3 |! Z+ W" b. W# w
    . E) w8 G! W  F* r' n: _) I9 c0 g
    4 J/ K3 h. y  d9 l: K

4 s5 N9 [+ G: C  sti
8 x9 _+ K/ }* k9 ~' }  ret
# [  [2 `) e' C  o  qSet4gb ENDP
0 k6 _7 g  u0 y  s   
! R; ~: @+ r% B6 y  ?end main
您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

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

GMT+8, 2025-12-1 08:34 , Processed in 0.112597 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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