1.1指令系统

1.1指令系统

指令

  • 指令
    • 控制计算机完成某种操作的命令。
  • 指令系统
    • 处理器所能识别的所有指令的集合
  • 指令的兼容性
    • 同一系列机的指令都是兼容的。

指令格式

  • 指令执行的功能:执行何种操作

  • 指令执行的对象:也就是两个数据

    • 首先要知道这两个数据的存放地址
    • 其次是数据去向、数据来源
操作码 [操作数], [操作数]

指令类型

根据操作数数量划分指令

  • 零操作数指令:操作码(不需要操作数或隐含)
  • 单操作数指令:操作码 操作数
  • 双操作数指令:操作码 操作数,操作数
  • 多操作数指令:操作码 三操作数及以上

根据操作数存放位置划分指令

  • 立即数操作数:参加操作的数据本身
  • 寄存器操作数:数据存放的地址
  • 存储器操作数:数据存放的地址

立即数操作数

  • 立即数本身是参加操作的数据
    • 可以是8位或16位
    • 只能作为源操作数
  • 立即数是运算数据本身,无地址含义,故无法作为目标操作数
MOV AX,1234H ;16位立即数,由于是十六进制表示,所以这里是16位二进制数。
MOV BL,22H ;8位立即数

寄存器操作数

  • 参加运算的数存放在指令给出的寄存器中
    • 可以是16位或8位。
  • 寄存器:8个通用寄存器,4个段寄存器 (用得较少)。
MOV AX,BX
MOV DL,C

存储器操作数

  • 参加运算的数存放在存储器的某个单元中 只能是逻辑地址, 而不能是物理地址
  • 寻找存储器操作数的关键是确定数据在内存中的存放地址
MOV AL,[1200H]

指令的执行速度

  • 指令的字长(主要是1-4B)影响指令的执行速度
  • 不同的操作数,指令执行的时间不同:
    1. 寄存器:最快
    2. 立即数:其次
    3. 存储器:最慢

指令字长与机器字长

指令字长

  • 长度不固定
    • 8086/8088:1-7B; OP:1-2B, 操作数:0-6B
  • 由操作码的长度、 操作数地址长度、 操作数个数决定;

机器字长

  • 长度固定
    • 8086/8088:16b
  • 计算机中ALU能够一 次直接处理的二进制数的位数。
上一篇:一个简单的python爬虫,以豆瓣妹子“http://www.dbmeizi.com/category/2?p= ”为例


下一篇:Java中的List转换成JSON报错(五)