美文网首页
程序的机器级表示之指令系统

程序的机器级表示之指令系统

作者: 我就是我啊 | 来源:发表于2018-11-04 20:21 被阅读0次

对于机器编程而言,有两种抽象尤为重要。第一种是由ISA来定义机器级程序的格式和行为,第二种是机器级别程序使用的内存地址是虚拟地址,提供的内存模型看上去是一个非常大的字节数组。

ISA指Instruction Set Architecture, 即指令集体系结构。是一种规约,它定义了处理器状态、指令的格式,以及每条指令对状态的影响。ISA在计算机系统是必不可少的一个抽象层,没有它软件就无法使用硬件。没有它,一台计算机就不能称为"通用计算机"。

程序计数器(pc,在x86-64中使用%rip表示):给出将要执行的下一条指令在内存中的地址。

整数寄存器:x86-64的cup包含一组16个存储64位值的通用目的寄存器,用来存储整数数据和存储地址。

条件码寄存器:保存着最近执行的算数活逻辑指令的状态信息

指令组成:操作码  源操作数1 或/和源操作数2(立即数、寄存器编号、存储地址) 目的操作数地址(寄存器编号、存储地址)

操作数有三种类型:1.立即数,用来表示常数 。2.寄存器,表示某个寄存器的内容。3.内存引用:会根据计算出来的地址访问某个内存位置。

寻址方式:如何根据指令给定信息得到操作数或操作数地址。参照下图:

常用指令类型:

1)传送指令:

        通用数据传送指令:mov,movs,movz,push/pop

        地址传送指令:leal,加载有效地址。如 leal(%edx,%eax), %eax 的功能为R[eax] <---R[edx] + R[eax], 执行前,若R[edx] =i, R[eax] = j, 则指令执行后,R[eax] = i+j。 这个指令第一个参数看上去是个内存引用,但不是从指定的位置读入数据,而是将有效地址写入目的操作数。

2)控制转移指令

    指令执行可按顺序或跳转到转移目标指令出执行

        --无条件转移指令 jmp dst:无条件转移到目标指令dst处执行

        --条件转移   Jcc dst:cc为条件码,根据标志(条件码)判断是否满足条件,若满足,则转移到目标指令dst处执行,否则按顺序执行

        --条件设置   SETcc dst:按条件码cc判断的结果保存到dst中(是一个8位的寄存器)

        --调用和返回指令(用于程序调用) 

                call dst:返回地址RA入栈,转dst处执行

                ret:从栈中取出返回地址ra,转到ra处执行

相关文章

  • 程序的机器级表示之指令系统

    对于机器编程而言,有两种抽象尤为重要。第一种是由ISA来定义机器级程序的格式和行为,第二种是机器级别程序使用的内存...

  • 程序的机器级表示

    在计算机系统中,程序的运行离不开CPU、内存等之间的协作。而在CPU中, 其内部的寄存器起到了十分重要的作用,有...

  • 程序的机器级表示

    计算机系统使用了多种不同的抽象,利用简单的抽象模型来隐藏实现的细节。对于机器级编程来说,其中两种抽象尤为重要。第一...

  • 程序的机器级表示

    本文是对《深入理解计算机系统》第3章的一些总结。 什么是机器级程序机器级程序只是一系列的字节序列,由多条指令组成,...

  • 程序的机器级表示

    计算机执行机器代码,用字节序列编码低级的操作,包括处理数据、管理存储器、读写存储设备上的数据,以及利用网络通信。编...

  • 第三章:程序的机器级表示

    程序的机器级表示 程序编码 机器级代码 数据格式 字word表示16位数据类型,32位数为双字double wor...

  • 2,程序的机器级表示

    一, 编译使用命令 1, 汇编命令 2, intel 汇编指令 3, 反编译 命令 二, 汇编指令 1, mov...

  • 程序的机器级表示-跳转

    条件码 除了整数寄存器,cpu还维护着一组单个条件码的寄存器,他们用来描述最近算术和逻辑操作的属性。可以检测这些寄...

  • Charpter Three 程序的机器级表示

    3.2 程序编码3.2.1 机器级表示抽象计算机系统使用了多种不同形式的抽象, 利用更简单的抽象模型来隐藏实现的细...

  • 程序的机器级表示-基本操作

    程序编码 机器级代码 理解机器级代码有2种抽象需要理解。 指令集架构:来定义机器级程序的格式以及行为。定义了处理器...

网友评论

      本文标题:程序的机器级表示之指令系统

      本文链接:https://www.haomeiwen.com/subject/rskdxqtx.html