下载此文档

汇编语言程序设计及上机指导高级汇编语言程序设计.pptx


文档分类:IT计算机 | 页数:约28页 举报非法文档有奖
1/28
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/28 下载此文档
文档列表 文档介绍
第7章高级汇编语言程序设计【本章提要】本章叙述几种难道较大的程序设计技术,包括CPU工作模式的切换,以及32位和64位Windows汇编语言程序的设计,最后讲述汇编语言和高级语言的简单混合编程。【学习目标】·掌握32位、64位Windows程序的汇编语言设计的基本方法·简单掌握MASM32以及FASM汇编工具的基本应用·简要掌握汇编语言和高级语言的混合编程及其汇编、、寻址方式和指令等基本概念,除特别说明外在保护方式下仍然保持。尽管实方式下CPU的功能要大大超过其先前的处理器,但只有在保护方式下,才能发挥其更大的作用。在保护方式下,全部32条地址线有效,可寻址高达4G字节的物理地址空间;扩充的存储器分段管理机制和可选的存储器分页管理机制,不仅为存储器共享和保护提供了硬件支持,而且为实现虚拟存储器提供了硬件支持;支持多任务,能够快速地进行任务切换和保护任务环境;4个特权级和完善的特权检查机制,既能实现资源共享又能保证代码和数据的安全和保密及任务的隔离;支持虚拟8086方式,便于在保护方式下同时又能执行8086程序。。一、从实模式切换到保护模式从实模式切换到保护模式一般需要两个步骤:①作好切换到保护模式下的准备;②切换到保护模式。主要准备工作就是建立全局描述符表,并使GDTR指向GDT,因为切换到保护模式下,至少要将代码段的选择子装入到CS中。2020年1月25日星期六1)定义好段描述符的结构:DESCRIPTORSTRUCT;每个段描述符占8个字节LIMITDW0;段界限BASELDW0;段基址的低16位BASEMDB0;段基址的16~23位ATTRIBUTESDW0;段属性BASEHDB0;段基址的高8位,24~31DESCRIPTORENDS2)定义好伪描述符:PDESCRIPTORSTRUCT;装入48位全局描述符表寄存器时要用到LIMITDW0;段界限BASEDD0;段基址PDESCRIPTORENDS3)通常要定义一个段间跳转的宏,这样的话就可以保证在进入保护模式时将代码段的选择子装入到CS寄存器。JUMPFARMACROselector,offsetsDB0EAH;0EAH为JUMP指令的机器码DWoffsets;段偏移DWselector;段选择子ENDM2020年1月25日星期六4)打开A20地址线:保护模式下访问的地址空间超过1M,所以必须要用到A20地址线。ENABLE_A20MACRO;通过92H号端口的输出,可以使地址线;A20打开,能够被访问PUSHAXINAL,92HORAL,2;在92H号端口的d1位输出1,打开A20地址线OUT92H,ALPOPAXENDM5)切换到保护模式下的最关键的动作为,将CR0寄存中的第0位置1。TO_PROTECTMACROMOVEAX,CR0ORCR0,1MOVCR0,EAXENDM2020年1月25日星期六二、保护模式切换到实模式显而易见,在保护模式返回到实模式时,只要做和上述的几个动作相反的动作就行了。主要要做好以下几个方面:1)定义一个宏,回到实模式,将CR0寄存中的第0位清0。TO_REALMACRO moveax,cr0andeax,0fffffffehmovcr0,eaxENDM2)定义一个宏,关闭A20地址线。DISABLE_A20MACROPUSHAXINAL,92HANDAL,0FDH;在92H号端口的d1位输出0,关闭A20地址线OUT92H,ALPOPAXENDM3)恢复DS,使其内容为数据段基址,可用以下两条指令:movax,DATAmovds,ax4)用一个段间跳转的宏,清指令预取队列,使CS内容为代码段基址。,并在保护模下访问680000H单元开始的内容(数据段基地址为680000H),最后又如何从保护模式返回到实模式的方法,程序结构片段如下:.386P;定义使用386指令集datasegmentuse16;定义16位数据段GDTLABELBYTE;定义全局描述符表EMPTYDESCRIPTOR{};空描述符,CODESEGDESCRIPTOR{0FFFFH,,,98H,};代码段的描述符CODE_SEL=CODESEG-GDT;代码段描述符的选择子DATASEGDESCRIPTOR{0FFFFH,0H,68H,92H,};数据段描述符,即680000HDATA_SEL=DATASEG-GDT;数据段选择子GDTLEN=$-GDTVGDTRPDESCRIPT

汇编语言程序设计及上机指导高级汇编语言程序设计 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数28
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198613
  • 文件大小1.11 MB
  • 时间2020-02-01
最近更新