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

進入 big real mode 會重新開機

[复制链接]
发表于 2010-10-8 12:43:38 | 显示全部楼层 |阅读模式
Hi 各位高手好
9 E/ E5 A( W; _4 w* E! m以下的程式是我修改網路的一段程式,我把他修改為,讀出memory的值,並顯示在螢幕上,但是我修改後,當我在DOS下執行它,電腦會自動開機,想請各位前輩幫我看一下,是哪邊出了問題,因為目前的我是沒有頭緒的,麻煩你們了,謝謝。- \0 @! z  v2 A3 Y+ m
;---------------------------------------
/ F: ~* Y5 q( F& B
8 t2 |9 ^% u" P.model small  q( j. N" ~6 {1 w, B4 E
.586p& k, u2 Z/ z+ e$ g. \
.stack  
+ Q/ N/ i7 I3 ^' n3 C    8 `" G/ y9 k, I& z4 H
.data. n2 T* z0 Y- K, h$ b

9 b7 w9 J" {2 e( Z" e+ s4 w9 B* uDESC STRUC; `) N1 ]& p0 y, ?7 Z* R) h
  LimitL DW 0  & Y9 W7 @5 s# q" [% [3 ?4 c: r
  BaseL DW 0  2 m$ q2 i& L& E& G& Z0 _# L
  BaseM DB 0  
) o: D8 y" |8 q9 T- L  Attributes DB 0  * u  _5 \8 g; l6 F3 T/ I" ?
  LimitH DB 0  
2 K. G" ^3 |, q4 _9 [  i5 f# v  BaseH DB 0  
+ @1 q' v. K; d5 ?$ [/ C$ v6 M! G- [DESC ENDS+ ^7 n: P$ `& E9 n# I5 I3 @

+ }/ j; V4 V! l* E; \: W1 e" a2 w4 ]PDesc STRUC
8 W" U% O2 \" J: n  Limit DW 0  . R# N/ J4 P, d4 A3 g1 a
  Base DD 0  . r' F2 e) n, B0 m/ V1 c) X+ U
PDesc ENDS' b* x5 {. A. k4 E: M$ G1 O
% W! Y; ~+ V1 F. Y; B
GDT_def Label Fword6 Z3 }/ Z2 G7 [, a2 Y$ ]
Null_Desc DESC < 0h, 0h, 00h, 00h, 000h, 0>
3 ^0 h3 z5 M8 v2 y, RData_Desc DESC < 0FFFFh, 0h, 00h, 92h, 0CFh, 0>* m9 k+ H: S8 F$ \! g
4 f2 m: f0 e7 y8 M
GDT_Addr PDesc <$-GDT_def-1, >
: m1 ~; O( P: ^. e# gcmd DD 255(0)  x! E0 O; f9 o
3 K' U4 N# W  n3 c& t4 K
.code
7 b4 N; d, u* M4 X$ p. \6 tmain proc7 W8 U+ }9 {+ \3 E9 v" t! t
  call Set4gb  L9 u2 G; T% w- g2 m

# {3 S- D. O" m# I& T+ N  mov esi, 20000100h
7 b! e; {4 }8 i( \  mov dword ptr fs:[esi], 055aa55aah
# r* `& O: Y- z    % d( j, c" p. Q1 O+ \6 }9 v3 d2 |, Z
  .exit
! }! P, o# j& C# u7 z7 omain endp   ! ~, P3 ]: [  C! G" a
+ a8 B5 \4 h$ H" w
Set4gb PROC NEAR
& X/ ?: H( ?* Y5 j  in al, 92h
. V3 k/ c6 I; R/ g0 L  or al, 0020 r" X! h! f+ v" x# a
  out 092h, al
4 `! u7 M4 q  C" o1 h$ B6 k  out 0edh, al
7 i$ C# J3 x0 z3 q5 I  j
- m) e$ Z6 u6 b- W& f2 N& ?2 E  cli
: F+ L: o7 ?/ k/ o! G: a" ]1 R2 o8 W9 k9 d9 A
  mov eax, ds& ]) e7 d6 C: ^6 |. y
  shl eax, 4/ _7 N8 a  O+ K' f" b4 m, o
  xor ebx, ebx( a# }* T# y% P$ ]% D* [
  mov bx, offset GDT_def
9 |7 f; G* h( A  add eax, ebx( t8 r# s, t+ a. Q0 b/ V; I: P  R
  mov dword ptr GDT_Addr.Base, eax) U, Q9 O6 M% Y. k
  lgdt fword ptr GDT_Addr% ~: @+ H- I2 W0 f$ u' h9 [6 z
- l/ m; {# `. y, t5 X( O1 F
  mov bx, 8. ^) v& t+ ]3 Y% O9 I8 m7 h, s
  mov eax, cr0$ V3 h: ~3 Y" L/ C
  or al, 1: I' j$ W$ \, O4 x& F7 t4 E
  mov cr0, eax
7 ^- I4 U- }6 s6 k) a' g. R+ T. q. G; s& l* i
  jmp pMod
2 v9 L' j) Y( o8 q% Q  pMod:3 z' Q2 Z+ _6 Y0 i5 t" z
8 v1 p& t" y5 I% H2 Q
  mov fs, bx
2 d' R3 E* V. C6 t. C4 h  S  mov gs, bx
# N% K) D7 s5 e# `4 O  and al, 0FEh
' E* t- r7 E+ m  l  mov cr0, eax
- r; o. ^% h) [) z3 W) }' G8 A   
* ]2 \* g$ @1 }6 i  jmp rMod1 s8 m- _5 {/ M/ @% A
  rMod:
6 q+ r5 k5 x: @) j5 C6 W7 S; N- z1 B( P+ W5 F1 W1 V3 U
  mov ax, 0
9 w( P. J" N4 V+ ]% s# R" E. u3 b2 Q( V  mov fs, ax+ `$ m9 G( g7 V$ V
  mov gs, ax
3 o6 R+ @. ^& T4 ]7 S   
; ]$ s) L( m7 E    . D; ?! _# f! l2 ]2 p

% k1 {/ P. e3 e( l. ^  sti
2 h) D6 u" O4 Z7 n! F" r' E  ret2 y; x) y- _$ X; O' Y2 k
Set4gb ENDP& j; F2 A0 r% M) l! r. Q
    7 y4 B- h/ K3 ^7 {* A
end main
您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

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

GMT+8, 2026-1-18 22:41 , Processed in 0.118667 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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