技术向|CPU的指令分类

CPU指令介绍

主流的CPU的指令一般有以下3种:

  1. 从内存加载值(Load Values) 到寄存器的指令和从寄存器存储(Store)到内存的指令。
  2. 操作存储在寄存上面值的指令。

    操作两个寄存器的Add,Subtract,Multiply,Divide

    按位级(bitwise)操作的 and ,or,xor

    数学函数cos ,sin 取平方根等

  3. 分支(Branching) 指令。

    CPU有一个instruction pointer 寄存器,(就是我们常说的指令指针IP)。

    它指向下一个要执行的指令(next instruction)。

    通常,他是自增的方式指向下一个指令。

    但是分支指令会检查某个寄存器的值是否是0。如果不是0(我们常说的true),就会更改IP的值到另一个地址。

我们看下面的例子来了解指令。

R1和R2,R3是寄存器,图中CPU的指令(Instruction)如下:

    • 设置R1的值为100
    • 加载(Loading)0x100的值给R2
    • R1和R2相加得到100,赋值给R3
    • 保存R3的值保存到地址0x110(其实寄存器R4会保持这个值110,为了后面使用)
时间: 2024-10-10 05:41:34

技术向|CPU的指令分类的相关文章

Atitit.java 虚拟机的构成 与指令分类 与 指令集合 以及字节码查看工具javjap

Atitit.java 虚拟机的构成 与指令分类 与 指令集合 以及字节码查看工具javjap 1.1. 虚拟机的构成 java虚拟机--处理器.堆栈.寄存器.指令系统. 1 1.2. 虚拟机执行过程1 1.3. 约有250个指令2 2. JVM指令助记符 分类2 2.1. 变量到操作数栈:2 2.2. 算数指令3 2.3. 移位指令3 2.4. 逻辑指令4 2.5. 流程跳转指令4 2.6. Oo指令4 2.7. 运算指令 5 3. 查看指令反编译工具6 3.1.   分析java语言特性的一

射频识别技术漫谈(1)——概念、分类

现代社会智能卡已经渗透到生活的方方面面,公交卡.考勤卡.身份证.手机卡等等数不胜数. 智能卡按使用时是否和读卡器接触可分为接触式智能卡和非接触式智能卡,接触式智能卡上有6-8个触点,使用时插在卡座上,典型的如手机卡以及以前的公用电话卡.非接触式智能卡没有触点,卡上也没有电源,通过读卡器产生的电磁场获得能量并与读写器交换信息.由于非接触式智能卡的无源和免接触特性,卡的使用寿命和安全性大大提高,目前应用越来越广泛. 根据安全等级,智能卡可分为存储器卡.逻辑加密卡和CPU卡.存储器卡就像一个无人看守且

Atitit..net clr il指令集 以及指令分类  与指令详细说明

Atitit..net clr il指令集 以及指令分类  与指令详细说明 1.1. .NET CLR 和 Java VM 都是堆叠式虚拟机器(Stack-Based VM), 1 1.2. 查看工具ILDASM1 1.3. 此程式执行时,关键的记忆体有三种,分別是:1 1.4. Il指令集2 1.4.1. Mov指令3 1.4.2.  跳转指令集合6 1.4.3.  算术 逻辑 与移位指令8 1.4.4. 类型转换9 1.4.5. Other  and oo指令10 2. 参考12 1.1. 

ARM指令分类学习

指令分类: 1.算数和逻辑指令 2.比较指令 3.跳转指令 4.移位指令 5.程序状态字访问指令 6.存储器访问指令 ++++++++++++++++++++++++++++++++++++++++++++++++++ 学习指令的资料<arm汇编手册(中文版).chm> ,注:这个资料是 ARM汇编手册,我们用的是GNU的汇编,所以语法 大小写上是有差别的. 使用上一篇文章中的汇编程序来,学习使用每个指令的用法. 一.算数和逻辑指令 1.mov指令 作用.格式.例子 从另一个寄存器.被移位的寄

ARM指令分类及其寻址方式

ARM指令分类及其寻址方式 一:ARM指令的分类 ARM指令集可以分为以下6类: •跳转指令: •数据处理指令: •程序状态寄存器(PSR)传输指令: •load/store指令: •协处理器指令: •异常中断产生指令: 二.ARM指令的一般编码格式 ARM指令字长为固定的32位.一条典型的ARM指令语法格式及编码格式如下: 语法格式: <opcode>{<cond>}{s}   <Rd>,<Rn>,<shifter_operand> •<

汇编指令分类

汇编 汇编语言包含两种指令: 汇编指令 伪指令 伪指令 没有对应的机器指令,最终不会被CPU执行.伪指令是编译器执行的指令. segement和ends segement 表示一个段的开始,ends表示一个段的结束 段名 segment 段名 ends 比如: codesg segement codesg ends; end 表示一个汇编程序的结束标记,编译器在编译的时候如果碰到了end,就会结束对源程序的编译 assume 假设某一段寄存器和程序中的某一个用segment...ends定义的段

x86指令分类详解(总结篇)

X86和X87汇编指令大全(有注释)   ---------- 一.数据传输指令 ----------------------------------------------------   它们在存贮器和寄存器.寄存器和输入输出端口之间传送数据.   1. 通用数据传送指令.       MOV     传送字或字节.       MOVSX   先符号扩展,再传送.       MOVZX   先零扩展,再传送.       PUSH    把字压入堆栈.       POP     把字弹

cpu设计--&gt;总线分类与设备控制

总线结构的CPU每个设备要作什么事情,一般都要通过控制信号控制,控制信号的全体决定着总线结构的状态.所有的控制信号都来自控制器.控制信号一般要单独设立线路传输,每个信号都有独立的方向和目标.因此,在CPU内部控制线多为专用线,而不像一般教材中所说的那样,使用公共线路做为控制总线.一般除非是远距离控制信号传输,考虑到线路的节约,才使用公共线路传递,但两端都要还原成专用控制线路.所以在CPU内部少讲控制总线,多讲控制专线比较合适. 地址线在CPU内部和数据总线常常是公用的,除非地址线的条数超出数据线

Part3_lesson2---ARM指令分类学习

1.算术和逻辑指令 mov.mvn.cmp.tst.sub.add.and.bic 2.比较指令 cmp和tst 3.跳转指令 b和bl 4.移位指令 lsl和ror 5.程序状态字访问指令 msr与mrs指令 6.存储器访问指令 ldr和str