当前位置: 代码迷 >> 汇编语言 >> 保护模式下的一段代码,但找不到bug()
  详细解决方案

保护模式下的一段代码,但找不到bug()

热度:9967   发布时间:2013-02-26 00:00:00.0
保护模式下的一段代码,但找不到bug(高手请进)
%include       "pm.inc "


org         0100h
              jmp     LABEL_BEGIN


[SECTION       .gdt]
LABEL_GDT:                     Descriptor                 0,                         0,                   0
LABEL_DESC_CODE32:     Descriptor                 0,       SegCode32Len-1,           DA_C+DA_32
LABEL_DESC_STACK:       Descriptor                 0,       TopOfStack-1,               DA_DRWA+DA_32
LABEL_DESC_DATA:         Descriptor                 0,       DataLen-1,                     DA_DRWA+DA_32
LABEL_DESC_RING3:       Descriptor                 0,       SegRing3Len-1,             DA_C+DA_32+DA_DPL3
LABEL_DESC_STACK3:     Descriptor                 0,       TopOfStack3-1,             DA_DRWA+DA_32+DA_DPL3
LABEL_DESC_VEDIO   :     Descriptor     0B8000h,       0ffffh               ,             DA_DRW+DA_DPL3


GdtLen         equ     $-LABEL_GDT
GdtPtr         dw       GdtLen   -1
                    dd       0


SelectorCode32         equ         LABEL_DESC_CODE32   -LABEL_GDT
SelectorStack           equ         LABEL_DESC_STACK     -LABEL_GDT
SelectorData             equ         LABEL_DESC_DATA       -LABEL_GDT
SelectorRing3           equ         LABEL_DESC_RING3     -LABEL_GDT+SA_RPL3
SelectorStack3         equ         LABEL_DESC_STACK3   -LABEL_GDT+SA_RPL3
SelectorVedio           equ         LABEL_DESC_VEDIO     -LABEL_GDT+SA_RPL3


[SECTION     .data1]
ALIGN       32
[BITS   32]
LABEL_DATA:
PMMessage                     db           "In   Protect   Model ",     0
PMMessageOffset         equ         PMMessage-$$

DataLen                         equ         $-LABEL_DATA  

;END   OF     [SECTION   .data1]

[SECTION     .ss1]
ALIGN       32
[BITS     32]
LABEL_STACK   :
                    times         512     db     0