第八次汇编试验.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八次汇编试验.doc

汇 编 语 言 实 验 报 告 Assembly Language Programming Lab?Reports ______________________________________________________________________________ 班级: _ 21336 __ 姓名:___韦涛____ 学号:_2133620 _ 实验日期:___2015.05.30____ 学院: __计算机与通信工程学院_______ 专业:_计算机科学与技术_________________ 实验顺序:_______ 原创:___ _____ 实验名称:_ 16位和32位的差别__________ 实验分数:_______ 考评日期:________ 指导教师: 张旭 ______________________________________________________________________________ 实验目的 1.掌握简化段定义。 2.理解实模式和保护模式。 3.学会在保护模式下编译调试汇编程序。 实验环境 操作系统:windows xp 编译程序:Visual C++ 6.0 实验原理 定义工作模式 .model 内存模式[,调用规则][,其他模式] 选择指令集 invoke语句 函数声明语句 实验步骤及结果分析 分析实模式与保护模式之间的区别。 实模式,又叫实地址模式,CPU完全按照8086的实际寻址方法访问从00000h--FFFFFh(1MB大小)的地址范围的内存,在这种模式下,CPU只能做单任务运行,寻址公式为:物理地址=左移4位的段地址+偏移地址,即:物理地址是由16位的段地址和16位的段内偏移地址组成的。 保护模式,又叫内存保护模式,寻址采用32位段和偏移量,最大寻址空间4GB,在这种模式下,系统运行于多任务,设计这种模式的原因和好处是:保护模式增加了寻址空间,增加了对多任务的支持,增加了段页式寻址机制的内存管理(分段机制使得段具有访问权限和特权级,各应用程序和操作系统的代码和核心是被保护的,这也是多任务支持的实现关键和保护这个名字的由来)。寻址过程为:物理地址=由段地址查询全局描述符表中给出的段基址+偏移地址,即:物理地址由影像寄存器中的基址加上16位或者32位的偏移组成。 实模式将整个物理内存看成分段的区域,程序代码和数据位于不同区域,系统程序和用户程序没有区别对待,而且每一个指针都是指向实在的物理地址。这样一来,用户程序的一个指针如果指向了系统程序区域或其他用户程序区域,并改变了值,那么对于这个被修改的系统程序或用户程序,其后果就很可能是灾难性的。为了克服这种低劣的内存管理方式,处理器厂商开发出保护模式。这样,物理内存地址不能直接被程序访问,程序内部的地址(虚拟地址)要由操作系统转化为物理地址去访问,程序对此一无所知。至此,进程(这时我们可以称程序为进程了)有了严格的边界,任何其他进程根本没有办法访问不属于自己的物理内存区域,甚至在自己的虚拟地址范围内也不是可以任意访问的,因为有一些虚拟区域已经被放进一些公共系统运行库。这些区域也不能随便修改,若修改就会提示出现错误。 CPU启动环境为16位实模式,之后可以切换到保护模式。但从保护模式无法切换回实模式。 在保护模式下用 C编译调试汇编程序输出hello world 建立工程 1)启动VC后,从菜单中选择“File”→“New”。 2)在打开的“New”对话框顶部,单击“Projects”,再选中“Win32 Console Application”,在Location编辑框中输入“c:\asm”,再在“Project name”中输入“test”,输入“test”时,它自动地添加到Location编辑框中“c:\asm”的后面。 3)单击“OK”键后,出现一个新的对话框,单击“Finish”。 4)接下来,VC的窗口的左边显示出“test classes”,下面有“ClassView”和“FileView”两种视图。 5)这时,可将hello.asm(或其他的一个.asm源程序文件)复制到c:/asm/test中,并改名为test.asm,也可以将其他的汇编程序源文件复制到c:/asm/test/test.asm。 6)接下来,再从菜单中选择“Project”→“Add to Projects”→“Files”,在该对话框中的文件名处输入“c:/asm/test/test.asm”。 7)在VC窗口左边的视图中,展开“FileView”中的“Source Files”,显示出“test.asm”,在“test.asm”上,单击鼠标右键,出现菜单。 8)在菜单中选择“Setti

文档评论(0)

docinpfd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档