指令入门

  • 计算机通过指令指挥计算机工作.
  • CPU被时钟驱动,不断的读取PC指针指向指令,并增加PC指针,从内存中读取指令并执行.(周而复始)
  • 不同的CPU架构使用不同指令.目前使用最广泛的是RISC(Reduced instruction set computer,精简指令集)

机器循环

执行指令
PC++
从PC位置获取指令
分析指令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

助记符

汇编语言
在这里插入图片描述

寻址模式(Addressing Model)

  • 指令集的一部分,决定指令有几个操作符,地址如何计算
  • 不要记有哪些寻址模式,这个不重要,寻址模式不同指令集不同.通过学习寻址模式看到的其实是如何利用好二进制指令

寄存器寻址

  • 操作符是寄存器,利用n位寻址2的n次方个寄存器
    在这里插入图片描述

立即寻址

操作符中有值在这里插入图片描述

偏移量寻址

根据基地址和偏移量进行寻址,最终的地址是在基地址和偏移量上计算
在这里插入图片描述

PC相对寻址

  • 下一个PC指针的位置依赖当前位置到Label的距离(当前代码行和Label所在的代码行之差)
  • 在这里插入图片描述

指令类型

内存读写

  • load/store指令用来从内存中读/写入内存.通常会有多个版本的实现,助记符是
    load类:lw,lb,lh
    store类:sw,sb,sh

数学运算

  • 加减乘除等
    立即寻址addi,subi,divi,mult等…
    寄 存器寻址:add,sub,div,mult等
    其他寻址方式
  • 位运算and/or/xor等(略)
  • 浮点数

浮点小数在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

比较运算

比较去处比较两个值的大小
slt(set if less than)

条件跳转

  • 相对寻址
    j LABEL
  • 寄 存器间接寻址
    jr $a0
  • 多合一
    jal LABEL

总结

  • opcode代表指令的类型,opcode也决定寻址模式
  • 间接寻址,间接寻址,偏移量寻址不要死记硬背,要理解
  • 浮点数在计算机中是以整数形式存在的

猜你喜欢

转载自blog.csdn.net/yasuofenglei/article/details/108639190
今日推荐