卡在了杨继文的T10-1上

来源:互联网 发布:java实现算法视频下载 编辑:程序博客网 时间:2024/04/30 10:11

<p><span style="font-family: SimSun; font-size: 10px;">    这是我在CSDN的第一篇博客。</span></p><p><span style="font-family: SimSun; font-size: 10px;">    在杨继文版的汇编语言教程中,涉及到实模式和保护模式切换的T10-1.asm例子,今天卡在了这里。LGDT指令被编译成了db 和 add,完全摸不着头脑。我有如下几个设想:</span></p><p><span style="font-family: SimSun; font-size: 10px;">    1.是不是masm汇编器的问题,因为汇编完全出错了。</span></p><p><span style="font-family: SimSun; font-size: 10px;">    2.我没有正确的使用masm,导致了不能正确的在保护模式下汇编。</span></p><p><img src="data:image/png;base64,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" alt="" /></p><p>还没有解决这个问题,但是看到有博客文章说已经解决了,希望明天就会解决吧。</p><p>附录:T10-1.ASM</p>
;T10-1.asm   程序源代码如下: ;****************************************************************** ;《80x86汇编语言程序设计教程》实例1源程序 ;功能:演示实模式和保护模式的切换 ;****************************************************************** ;16位偏移的段间直接转移指令的宏定义 JUMPMACRO   selector,offsetv         DB0EAH;操作码         DWoffsetv;16位偏移         DW     selector;段值或选择子         ENDM ;字符显示宏指令的定义 ECHOCHMACRO   ascii movah,2 movdl,   ascii int21h ENDM ;存储段描述符结构类型的定义 DESCRIPTORSTRUC LIMTLDW0;段界限(0~15) BASELDW0;段基地址(0~15) BASEMDB0;段基地址(16~23) ATTRIBUTESDW0;段属性 BASEHDB0;段基地址(24~31) DESCRIPTORENDS ;伪描述符结构类型定义 PDESCSTRUC LIMITDW0;16位界限 BASEDD0;基地址 PDESCENDS ;常量定义 ATDW=92H;存在的可读写数据段属性值 ATCE=98H;存在的只执行代码段属性值 ;          .386P ;------------------------------------------------------------------DSEGSEGMENTUSE16;16位段         GDTLABEL   BYTE;全局描述符表GDT         DUMMYDESCRIPTOR<> ;空描述符         CODEDESCRIPTOR<0FFFFH,,,ATCE,>         CODE_SEL=CODE   -   GDT;代码段描述符的选择子,符号定义语句,伪指令         DATASDESCRIPTOR<0FFFFH,0H,11H,ATDW,0>         DATAS_SEL=DATAS   -   GDT;源数据段描述符的选择子         DATADDESCRIPTOR<0FFFFH,,,ATDW,>         DATAD_SEL=DATAD   -   GDT;目标数据段描述符的选择子         GDTLEN=$   -   GDT         ;         VGDTRPDESC<GDTLEN   -   1,>         ;         BUFFERLEN=256;缓冲区字节长度         BUFFERDBBUFFERLENDUP(0);目标数据段           DSEGENDS STACKS   SEGMENT         ;此处输入堆栈段代码 STACKS   ENDS CSEGSEGMENTUSE16         ASSUME   CS:CSEG,DS:DSEG START:         MOVAX,DSEG         MOV   DS,AX         ;准备要加载到GDTR的伪描述符         MOV   BX,16         MUL   BX;EDX:AX=AX*16   计算并设置GDT基地址 ,DX含有高16位,AX含有低16位。        ;实方式下段起始地址等于段值*16,因为地址线仍被认为和8086一样有20根        ADD   AX,OFFSETGDT         ADC   DX,0         MOV   WORD   PTRVGDTR.BASE,  AX         MOV   WORD   PTRVGDTR.BASE+2,DX         ;设置代码段描述符         MOV   AX,CS         MUL   BX         MOV   CODE.BASEL,AX         MOV   CODE.BASEM,DL         MOV   CODE.BASEH,DH         ;设置目标数据段描述符                MOV     AX,DS                MUL     BX              ;计算并设置目标数据段基地址                ADD     AX,OFFSET BUFFER                ADC     DX,0                MOV     DATAD.BASEL,AX                MOV     DATAD.BASEM, DL                MOV     DATAD.BASEH, DH                ;加载GDTR                ;LGDT    VGDTR           ;注1         LGDTQWORD PTR VGDTR               ;                CLI                     ;关中断                CALL    EA20            ;打开地址线A20                ;切换到保护方式                MOV     EAX,CR0                OR      EAX,1           ;设置PE        MOV     CR0,EAX                ;清指令预取队列,并真正进入保护方式        JUMP    <CODE_SEL>,<OFFSET VIRTUAL>        ;VIRTUAL:;现在开始在保护方式下        MOV     AX,DATAS_SEL                MOV     DS,AX           ;加载数据段描述符                             MOV     AX,DATAD_SEL                MOV     ES,AX           ;加载目标数据段描述符                                CLD                                XOR     SI,SI           ;设置指针初值                XOR     DI,DI                MOV     CX,BUFFERLEN/4  ;设置4字节为单位的缓冲区长度                REPZ    MOVSD           ;传送        ;;;;;;;;;;;;        ;切换加实方式                MOV     EAX,CR0                AND     EAX,0FFFFFFFEH                MOV     CR0,EAX                ;清指令预取队列,进入实方式                JUMP    <SEG REAL>,<OFFSET REAL>                ;;;;;;;;;;;;;; REAL:   ;切换回实方式        CALL    DA20            ;关闭地址线A20                STI                     ;开中断                ;                MOV     AX,DSEG         ;重置数据段寄存器                MOV     DS,AX                MOV     SI,OFFSET BUFFER                CLD                     ;显示缓冲区内容                                MOV     BP,BUFFERLEN/16NEXTLINE:                MOV     CX,16        NEXTCH:                LODSB                PUSH AX                SHR AL, 4                CALL TOASCII                ECHOCH AL                POP AX                CALL TOASCII                ECHOCH AL                ECHOCH ' '                LOOP NEXTCH         ECHOCH 0DH        ECHOCH 0AH                                       DEC BP                JNZ NEXTLINE                ;                MOV AH, 1   ;有字符输入才结束             INT 21H                MOV AX, 4C00H                INT 21H  ;结束TOASCII PROC;把AL低4位的十六进制数转换成对应的ASCII,保存在AL        AND AL, 0FH        ADD AL, 90H        DAA        ADC AL, 40H        DAATOASCII ENDP;EA20 PROC;打开地址线A20         PUSH AX        IN AL, 92H        OR AL, 2        OUT 92H, AL        POP AX        RETEA20 ENDP;DA20 PROC;关闭地址线A20        PUSH AX        IN AL, 92H        AND AL, 0FDH ;0FD = NOT 2H        OUT 92H, AL        POP AX        RETDA20 ENDP;CSEG ENDS  END START




0 0
原创粉丝点击