1,指令系统和指令格式
1)指令是要求计算机执行特定操作的命令,一条指令对应一种特定操作,比如加,减,转移,位移等
2)指令系统是计算机所能执行的全部指令的集合, 是计算机硬件和软件之间的桥梁,是汇编语言程序设计的基础
3)计算机指令以二进制的形式存放在存储器中,用二进制编码形式表示的指令成为机器指令,用符号表示的指令成为汇编指令,具有直观易理解的特点,汇编指令与机器指令有一一对应的关系,而且每种机器的CPU指令系统的指令都有几十条,上百条之多。
4)指令包括操作码字段和操作数字段两部分
1.操作码字段:规定指令的操作类型,说明计算机要执行的操作,如传输,运算,移位,跳转等操作,是指令中必不可少的组成部分。
2.操作数字段:说明在指令需要的操作数,可以是操作数本身,也可以是操作数地址或是地址的一部分,还可以是指向操作数的地址指针或其他有关操作数的信息。
2,8086寻址方式
寻址是指寻找操作数或操作地址的过程
寻找方式:指令中给出的找到操作数或操作地址采用的方式
8086指令系统的寻址方式主要有立即数寻址,寄存器寻址,存储器寻址,和I/O端口寻址。其中,存储器寻址可进一步分为直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址变址。I/O端口指令in和out使用的端口寻址方式有直接寻址和间接寻址
1)立即数寻址
操作数(为一常数)直接由指令给出(此操作数称为立即数)。立即数只能用于源操作数
例子: mov ax,1C8FH
mov byte ptr[2A00H],8FH
2)寄存器寻址
1.操作数放在某个寄存器中
2.源操作数与目的操作数字长要相等
3.存储器寻址与段地址无关、
示例:MOV AX.BX
3)I/O寻址方式(端口直接寻址,端口间接寻址)
4)存储器寻址方式
1.存储器的单元地址由三个分量地址组合而成:
位移分量(用disp表示)
基址分量(用BX,BP基址寄存器表示)
变址分量(用SI,DI变址寄存器表示)
2.五钟寻址方式
直接寻址方式 EA=disp16/disp8
寄存器间接寻址 EA=(DS/SS/CS/ES)*16+(BX/BP/SI/DI)
寄存器相对寻址 EA=(BX/BP/SI/DI)+disp16/disp8
基址加变址寻址 EA=(BX/BP)+(SI/DI)
基址加变址相对寻址 EA=(BX/BP)+(SI/DI)+disp16/disp8
寄存器常用搭配:
CS:IP 固定
DS:BX、SI、DI或位移分量 默认
SS:SP 固定
SS:BP 默认
ES:DI(用于字符操作指令) 固定
3,8086指令系统
8086微处理器指令系统中根据指令的操作性质,可分为六大类:传送类指令、运算类指令、逻辑类指令、转移类指令、串操作指令、控制类指令
注意:
1.指令的基本功能
2.指令的执行对标志位的影响
3.对寻址方式或寄存器使用的限制和隐含使用的情况