(1)操作数来源指明操作数所在的地方 有三种来源: 操作数在指令中,称立即数操作数 如 MOV AL,9 ②操作数在寄存器中,称寄存器操作数 指令中给出用符号表示的寄存器名。 如 MOV AL,9 ③操作数在内存单元中,称存储器操作数或內存操作数 指令中给出该内存单元的地址。用表示存储器操作数 如 MOV AL,[2000H
(1) 操作数来源 指明操作数所在的地方 有三种来源: ① 操作数在指令中,称立即数操作数 如 MOV AL , 9 ② 操作数在寄存器中,称寄存器操作数 指令中给出用符号表示的寄存器名。 如 MOV AL , 9 ③ 操作数在内存单元中,称存储器操作数或内存操作数 指令中给出该内存单元的地址。用[ ]表示存储器操作数 如 MOV AL , [ 2000H ]
(2)操作数个数 按指令格式中,操作数个数的多少分为三类: 无操作数:指令只有一个操作码,没有操作数 单操作数:指令中给出一个操作数 双操作数:指令中给出两个操作数
(2) 操作数个数 按指令格式中,操作数个数的多少分为三类: 无操作数: 指令只有一个操作码,没有操作数 单操作数: 指令中给出一个操作数 双操作数: 指令中给出两个操作数
①无操作数:指令只有一个操作码,没有操作数 有两种可能: ▲有些操作不需要操作数。 如HT,NOP等处理机控制指令。 ▲操作数隐含在指令中。 如STC,CLC等处理机控制命令。 AAA,DAA等调整指令
① 无操作数: 指令只有一个操作码,没有操作数。 有两种可能: ▲ 有些操作不需要操作数。 如 HLT,NOP等处理机控制指令。 ▲ 操作数隐含在指令中。 如 STC , CLC等处理机控制命令。 AAA , DAA等调整指令
②单操作数:指令中给出一个操作数 有两种可能: ▲有些操作只需要一个操作数 如 INC AL (AL)←(AL)+1 ▲有些操作将另一个操作数隐含在指令中 如 MUL BL;(AX)←(AL)×(BL)
② 单操作数: 指令中给出一个操作数。 有两种可能: ▲有些操作只需要一个操作数 如 INC AL ; (AL) ← (AL)+ 1 ▲有些操作将另一个操作数隐含在指令中 如 MUL BL ; (AX) ← (AL)×(BL)
③双操作数:指令中给出两个操作数。 如 ADD AL,BL;(AI)←(AL)+(BL) 目的操作数源操作数 操作后的结果通常存放在目的操作数中
③ 双操作数: 指令中给出两个操作数。 如 ADD AL , BL ;(AL) ← (AL) + (BL) 目的操作数 源操作数 操作后的结果通常存放在目的操作数中