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)影响指令的执行速度
- 对不同的操作数,指令执行的时间不同:
- 寄存器:最快
- 立即数:其次
- 存储器:最慢
指令字长与机器字长
指令字长
-
长度不固定
- 8086/8088:1-7B; OP:1-2B, 操作数:0-6B
- 由操作码的长度、 操作数地址长度、 操作数个数决定;
机器字长
-
长度固定
- 8086/8088:16b
- 计算机中ALU能够一 次直接处理的二进制数的位数。