通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 程序设计 >> 汇编语言 >> 基础教程 >> 文章正文
虚拟8086模式
责任编辑:admin   更新日期:2005-8-6
V86LDT Desc <V86LDTLen-1,V86LDTSeg,,ATLDT,,> V86LDT_Sel = V86LDT-GDT ;IntFF任务TSS段描述符及选择子 IntFFTSS Desc <IntFFTSSLen-1,IntFFTSSSeg,,AT386TSS,,> IntFFTSS_Sel = IntFFTSS-GDT ;IntFF任务局部描述符表的描述符及选择子 IntFFLDT Desc <IntFFLDTLen-1,IntFFLDTSeg,,ATLDT,,> IntFFLDT_Sel = IntFFLDT-GDT ;临时任务的任务状态段描述符及选择子 TempTSS Desc <TempTSSLen-1,TempTSSSeg,,AT386TSS,,> TempTSS_Sel = TempTSS-GDT ;临时任务代码段描述符及选择子 TempCode Desc <0ffffh,TempCodeSeg,,ATCE,,> TempCode_Sel = TempCode-GDT ;---------------------------------------------------------------------------- GDNum = ($-EFFGDT)/(SIZE Desc) ;需特殊处理的描述符数 GDTLen = $-GDT ;全局描述符表长度 GDTSeg ENDS ;全局描述符表段定义结束 ;============================================================================ IDTSeg SEGMENT PARA USE16 ;V86任务使用的中断描述符表 IDT LABEL BYTE ;对应0--12号中断/异常的中断门描述符 REPT 13 Gate <,TPCode_Sel,,AT386IGate+DPL3,> ENDM ;通用保护故障处理程序门描述符 Gate <GPBegin,GPCode_Sel,,AT386TGate+DPL3,> ;对应14--254号中断/异常的中断门描述符 REPT 241 Gate <,TPCode_Sel,,AT386IGate+DPL3,> ENDM ;对应255号中断的任务门描述符 Gate <,IntFFTSS_Sel,,ATTaskGate+DPL3,> ;---------------------------------------------------------------------------- IDTLen = $-IDT IDTSeg ENDS ;中断描述符表段定义结束 ;============================================================================ ;IntFF任务的TSS段 IntFFTSSSeg SEGMENT PARA USE16 DD 0 ;链接字 DD 0 ;0级堆栈指针(实例不使用) DW 0,0 ;0级堆栈选择子(实例不使用) DD 0 ;1级堆栈指针(实例不使用) DW 0,0 ;1级堆栈选择子(实例不使用) DD 0 ;2级堆栈指针(实例不使用) DW 0,0 ;2级堆栈选择子(实例不使用) DD 0 ;CR3 DW IntFFBegin,0 ;EIP DD 0 ;EFLAGS DD 0 ;EAX DD 0 ;ECX DD 0 ;EDX DD 0 ;EBX DD IntFFStackLen ;ESP DD 0 ;EBP DD 0 ;ESI DD 0 ;EDI DW Normal_Sel,0 ;ES DW IntFFCode_Sel,0 ;CS DW IntFFStack_Sel,0 ;SS DW Normal_Sel,0 ;DS DW Normal_Sel,0 ;FS DW Normal_Sel,0 ;GS DW IntFFLDT_Sel,0 ;LDTR DW 0 ;调试陷阱标志 DW $+2 ;指向I/O许可位图 DB 0ffh ;I/O许可位图结束标志 ;---------------------------------------------------------------------------- IntFFTSSLen = $ IntFFTSSSeg ENDS ;============================================================================ ;IntFF任务的LDT段 IntFFLDTSeg SEGMENT PARA USE16 FLDT LABEL BYTE ;0级堆栈段描述符及选择子 IntFFStack Desc <IntFFStackLen-1,IntFFStackSeg,,ATDWA,,> IntFFStack_Sel = IntFFStack-FLDT+TIL ;代码段描述符及选择子 IntFFCode Desc <IntFFCodeLen-1,IntFFCodeSeg,,ATCER,,> IntFFCode_Sel = IntFFCode-FLDT+TIL ;---------------------------------------------------------------------------- IntFFLDNum = ($-FLDT)/(SIZE Desc) IntFFLDTLen = $ IntFFLDTSeg ENDS ;============================================================================ ;IntFF任务的堆栈 IntFFStackSeg SEGMENT PARA USE16 IntFFStackLen = 512 DB IntFFStackLen DUP(0) IntFFStackSeg ENDS ;============================================================================ ;IntFF任务的代码段 IntFFCodeSeg SEGMENT PARA USE16 ASSUME CS:IntFFCodeSeg ;---------------------------------------------------------------------------- IntFFMess DB 'Return to real mode.' IntFFMessLen = $-IntFFMess ;---------------------------------------------------------------------------- IntFFBegin PROC FAR mov si,OFFSET IntFFMess mov ax,Video_Sel mov es,ax mov di,0 mov ah,17h mov cx,IntFFMessLen cld INext: mov al,BYTE PTR cs:[si] inc si stosw loop INext JUMP16 TempTSS_Sel,0 IntFFBegin ENDP ;---------------------------------------------------------------------------- IntFFCodeLen = $ IntFFCodeSeg ENDS ;============================================================================ ;V86任务的TSS段 V86TSSSeg SEGMENT

上一页  [1] [2] [3] [4] [5] [6] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • 热门文章
    Olldbg常见问题
    汇编语言的艺术(组合语言的艺术)--观
    汇编语言的艺术(组合语言的艺术)--准
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言---程式设计 (4)
    虚拟8086模式
    SYS命令使用说明
    javascript + CSS 实现动态菜单显
    推荐文章
    自制Windows XP SP2自动安装光盘
    SQLServer注入工具改进版 v1.02
    使用photoshop CS进行自然美肤
    Photoshop绘制诺基亚手机
    PHOTOSHOP制作秋日之梦
    PHOTOSHOP鼠绘名模王爱萍
    Photoshop制作晶莹飞溅的水珠
    教你用PHOTOSHOP做放大镜
    鼠绘美女及服装修画全过程