八.指令系统

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.对寻址方式或寄存器使用的限制和隐含使用的情况

原文地址:https://www.cnblogs.com/ryanyangrr/p/13343297.html