第三章程序的转换与机的器级表示(更新).pdf

第三章程序的转换与机的器级表示(更新).pdf

  1. 1、本文档共146页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章程序的转换与机的器级表示(更新)

第三章程序的转换与机器级表示 程序转换概述 IA-32 /x86-64指令系统 C语言程序的机器级表示 复杂数据类型的分配和访问 越界访问和缓冲区溢出、x86-64架构 程序的转换与机器级表示 • 主要教学目标 – 了解高级语言与汇编语言、汇编语言与机器语言之间的关系 – 掌握有关指令格式、操作数类型、寻址方式、操作类型等内容 – 理解高级语言源程序中的语句与机器级代码之间的对应关系 – 理解复杂数据类型(数组、结构等)的机器级实现 • 主要教学内容 – 介绍C语言程序与IA-32机器级指令之间的对应关系。 – 主要包括:程序转换概述、IA-32指令系统、C语言中控制语 句和过程调用等机器级实现、复杂数据类型(数组、结构等) 的机器级实现等。 – 本章所用的机器级表示主要以汇编语言形式表示为主。 采用逆向工程方法! 2 程序的机器级表示 • 分以下六个部分介绍 从高级语言程序出 – 第一讲:程序转换概述 发,用其对应的机 • 机器指令和汇编指令 器级代码以及内存 • 机器级程序员感觉到的属性和功能特性 (栈)中信息的变 • 高级语言程序转换为机器代码的过程 化来说明底层实现 – 第二讲:IA-32 /x86-64指令系统 – 第三讲: C语言程序的机器级表示 • 过程调用的机器级表示 • 选择语句的机器级表示 围绕C语言中的语 • 循环结构的机器级表示 句和复杂数据类型, – 第四讲:复杂数据类型的分配和访问 解释其在底层机器 • 数组的分配和访问 级的实现方法 • 结构体数据的分配和访问 • 联合体数据的分配和访问 • 数据的对齐 – 第五讲:越界访问和缓冲区溢出 – 第六讲:x86-64架构(自学) 3 “指令”的概念 • 计算机中的指令有微指令、机器指令和伪(宏)指令之分 • 微指令是微程序级命令,属于硬件范畴 • 伪指令是由若干机器指令组成的指令序列,属于软件范畴 • 机器指令介于二者之间,处于硬件和软件的交界面 – 本章中提及的指令都指机器指令 • 汇编指令是机器指令的汇编表示形式,即符号表示 • 机器指令和汇编指令一一对应,它们都与具体机器结构有关,都 属于机器级指令 SKIP 4 回顾:Hardware/Software Interfa

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档