1.指令及其操作数
指令有两部分:操作码和操作数
操作码:处理器要执行哪种操作,不可或缺,用助记符表示。
操作数:指令执行的参与者,各种操作的对象,需要通过地址指示。
2.寻址方式
通过地址访问数据或指令
数据寻址:指令执行过程中,访问所需要操作的数据(操作数)(立即数寻址、寄存器寻址、存储器寻址、外设寻址)。
指令寻址:一条指令执行后,确定执行的下一条指令的位置。
逻辑地址=段基地址:偏移地址
线性地址=段基地址+有效地址
32位有效地址=基址寄存器+变址寄存器✖比例+位移量
16位有效地址=基址寄存器+变址寄存器+位移量
立即数寻址:i8操作数从指令代码中得到,即立即数(立即数的各种形式:十六进制常数、字符、十进制负数、符号常量、常量表达式、变量的偏移地址)。
寄存器寻址:r8操作数存放在处理器的内部寄存器中(源操作数和目的操作数均是寄存器寻址,目的操作数、源操作数是寄存器寻址)。
存储器寻址:数据来自主存储器,指令代码表达形式地址(有效地址)。
存储器的直接寻址:有效地址只有位移量部分,直接包含在代码指令中(变量名)。
存储器的寄存器间接寻址:指令代码表达形式地址,由形式地址结合规则经过计算得到有效地址EA(寄存器内容=偏移地址=有效地址,中括号括起来表示地址)。
寄存器相对寻址:有效地址是寄存器内容和位移量之和(寄存器要用中括号括起来)。
存储器的变址寻址:指令代码表达形式地址,由形式地址结合规则经过计算得到有效地址EA。