程序的转换与机器级表示课件.ppt

程序的转换与机器级表示课件.ppt

ID:55224457

大小:4.74 MB

页数:185页

时间:2020-05-11

程序的转换与机器级表示课件.ppt_第1页
程序的转换与机器级表示课件.ppt_第2页
程序的转换与机器级表示课件.ppt_第3页
程序的转换与机器级表示课件.ppt_第4页
程序的转换与机器级表示课件.ppt_第5页
资源描述:

《程序的转换与机器级表示课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章程序的转换与机器级表示程序转换概述IA-32/x86-64指令系统C语言程序的机器级表示 复杂数据类型的分配和访问 越界访问和缓冲区溢出、x86-64架构程序的转换与机器级表示主要教学目标了解高级语言与汇编语言、汇编语言与机器语言之间的关系掌握有关指令格式、操作数类型、寻址方式、操作类型等内容了解高级语言源程序中的语句与机器级代码之间的对应关系了解复杂数据类型(数组、结构等)的机器级实现主要教学内容介绍C语言程序与IA-32机器级指令之间的对应关系。主要包括:程序转换概述、IA-32指令系统、C语言中控制语句和过程调用等机器级实现、复杂数据类型(数组、结构等)的机器级实现等。本章所

2、用的机器级表示主要以汇编语言形式表示为主。采用逆向工程方法!程序的机器级表示分以下五个部分介绍第一讲:程序转换概述机器指令和汇编指令机器级程序员感觉到的属性和功能特性高级语言程序转换为机器代码的过程第二讲:IA-32/x86-64指令系统第三讲:C语言程序的机器级表示过程调用的机器级表示选择语句的机器级表示循环结构的机器级表示第四讲:复杂数据类型的分配和访问数组的分配和访问结构体数据的分配和访问联合体数据的分配和访问数据的对齐第五讲:越界访问和缓冲区溢出从高级语言程序出发,用其对应的机器级代码以及内存(栈)中信息的变化来说明底层实现围绕C语言中的语句和复杂数据类型,解释其在底层机器级的实

3、现方法“指令”的概念计算机中的指令有微指令、机器指令和伪(宏)指令之分微指令是微程序级命令,属于硬件范畴伪指令是由若干机器指令组成的指令序列,属于软件范畴机器指令介于二者之间,处于硬件和软件的交界面本章中提及的指令都指机器指令汇编指令是机器指令的汇编表示形式,即符号表示机器指令和汇编指令一一对应,它们都与具体机器结构有关,都属于机器级指令SKIP回顾:Hardware/SoftwareInterface…,EXTop=1,ALUSelA=1,ALUSelB=11,ALUop=add,IorD=1,Read,MemtoReg=1,RegWr=1,......temp=v[k];v[k]=v

4、[k+1];v[k+1]=temp;lw$15,0($2)lw$16,4($2)sw$16,0($2)sw$15,4($2)10001100010011110000000000000000100011000101000000000000000001001010110001010000000000000000000010101100010011110000000000000100软件硬件汇编指令机器指令…11111001011…微指令swap0($2),4($2)伪指令BACK机器级指令机器指令和汇编指令一一对应,都是机器级指令机器指令是一个0/1序列,由若干字段组成汇编指令是机器指令的符

5、号表示(可能有不同的格式)mov、movb、bx、%bx等都是助记符指令的功能为:M[R[bx]+R[di]-6]←R[cl]操作码寻址方式寄存器编号立即数(位移量)mov[bx+di-6],clmovb%cl,-6(%bx,%di)或Intel格式AT&T格式补码11111010的真值为多少?寄存器传送语言RTL(RegisterTransferLanguage)R:寄存器内容M:存储单元内容本课程采用AT&T格式操作码:opcode;w:与机器模式(16/32位)一起确定寄存器位数(AL/AX/EAX);d:操作方向寻址方式:mod、r/m、reg/op三个字段与w字段和机器模式一起

6、确定操作数所在的寄存器编号或有效地址计算方式SIB中基址B和变址I都可是8个GRS中任一个;SS给出比例因子位移量和立即数的长度可以是:1B(8位)、2B(16位)、4B(32位)IA-32机器指令格式回顾:计算机中数据的存储计算机中的数据存放在哪里?寄存器文件通用寄存器组GPRs存储器指令中需给出的信息:操作性质(操作码)源操作数1或/和源操作数2(立即数、寄存器编号、存储地址)目的操作数地址(寄存器编号、存储地址)存储地址的描述与操作数的数据结构有关!相当于宿舍书架相当于图书馆书架I/OCPUCompilerOperatingSystemApplicationDigitalDesig

7、nCircuitDesignInstructionSetArchitectureMMAssembler回顾:指令集体系结构ISAISA(InstructionSetArchitecture)位于软件和硬件之间硬件的功能通过ISA提供出来软件通过ISA规定的”指令”使用硬件ISA规定了:可执行的指令的集合,包括指令格式、操作种类以及每种操作对应的操作数的相应规定;指令可以接受的操作数的类型;操作数所能存放的寄存器组的结构,包括每个寄存

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。