- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言与接口技术课件 h4-1 保护方式编程
4.1 保护方式编程 实方式和保护方式以同样的方式使用和执行指令,它们之间的差异在于形成内存物理地址的方式。例如,在执行MOV AL,[BX]指令时。 保护模式操作的两个途径: 一种是在实方式下利用保护方式机构及使用保护方式专用指令进入保护方式,进行保护方式操作; 另一种是使用DPMI(DOS保护方式接口)功能由WINDOWS环境下进入DOS保护方式,通过DOS多功能调用INT 2FH进行保护方式操作的。 4.1.1 利用保护方式机构及使用保护方式专用指令进入保护方式 1.保护方式专用指令 该类指令分为两类:保护方式控制指令和保护参数检验指令。保护方式控制指令只能使用在系统软件中,而不能使用在应用程序中。 (1)保护方式控制指令 1)LGDT/LIDT SRC ;将源操作数SRC指定的48位存储器操作数 装入GDTR或IDTR 源操作数的低两字节存放描述符表寄存器的界限值,高4个字节存放线性基地址( P10图1.10)。该指令对标志位无影响。 举例:LGDT [DI] 2)LLDT SRC ;将源操作数SRC指定的16位寄存器 或存储器操作数作为选择符装入LDTR 其中选择符为指向全局描述符表GDT中的类型为LDT的描述符(P10图1.11)。该指令对标志位无影响。 举例:LLDT BX 3)LTR SRC ; 装入任务状态段寄存器 功能:将SRC中的内容作为选择符装入任务状态段寄存器TR中,并使装入的任务状态段标记为忙,但不发生任务切换。 源操作数为16位寄存器或存储器操作数,它必须指向GDT里面一个忙的TSS描述符。该指令对标志位无影响 。 举例:LTR AX 4)LMSW SRC ;装入机器状态字 功能:将源操作数SRC的内容(16位寄存器或存储器操作数)装入控制寄存器CR0的低16位。( CR0 :存放系统控制标志或表示处理器的状态) 该指令能够实现从实地址模式到保护模式的切换(将CR0的PE位置位,便进入保护模式)。进入保护模式后,紧跟一条跨段转移指令。在80386中一般使用MOV CRn,SRC指令完成该功能。该指令对标志位无影响 。 举例:LMSW SP PE:保护方式允许位(置1,进入保护方式;清0,进入实地址方式)。 TS:任务切换位。 5)ARPL DEST,REG ;调整选择符的特权级RPL 功能:调整段选择符的请求优先级RPL。若操作数DEST的RPL小于或等于操作数REG的RPL,则ZF=1,并用操作数REG的RPL修改操作数DEST的RPL值(使它们最低2位相等)。若操作数DEST的RPL大于操作数REG的RPL,则操作数DEST不变,ZF=0。 操作数DEST为包含选择符的16位寄存器或存储器操作数,操作数REG为包含选择符的16位寄存器,一般存放调用程序CS选择符值的寄存器。 影响的标志位为ZF。 举例:ARPL MEM,BX 6)CLTS 清除任务切换标志 功能:清除控制寄存器CR0中的任务切换标志TS,即将TS置成0。 在保护模式下只能在优先级0时才能执行。它也可以在实地址模式下使用。TS在每次任务切换时,由80386自动置位。 影响的标志位为TS。 (2)保护参数检验指令 2.保护方式进入和退出 (1)保护模式建立步骤 在开机或RESET复位后,80X86微处理器处于实地址方式。如果要进入保护方式,需要对各种系统表和寄存器进行初始化。 进入保护方式的初始化工作主要包括如下几个方面。 1)建立GDT和IDT。IDT中应包含系统所需要的32个中断向量,每个中断向量占8字节,共256字节;GDT中包括任务需要的代码段描述符和数据段描述符,在
文档评论(0)