8086寻址方式和指令系统复习笔记

8086寻址方式和指令系统

系统的性能要求:

  • 完备性 //直接提供的指令够用,不用软件来实现
  • 高效性 //程序占用空间小.
  • 规整性 //指令系统的对称性. 匀齐性,指令格式和数据格式的一致性.
  • 兼容性 //向上兼容.

指令的格式:

  1. 操作码 //一个包含N位的操作码最多能表示2的N次方条指令
  2. 地址码
    • 零地址指令的指令字中只有操作码
    • 一地址指令常驻机构称为单操作指令
    • 二地址指令常和为双操作指令
    • 三地址指令字中有三个操作字地址A1,A3,A3 (A1)op(A2)->A3

指令的分类及功能:

    • 数据传送类指令 data transfer
    • 算术运算类指令 arithmetic
    • 逻辑类指令 logical
    • 数据变换类指令 conversion
    • 控制权转移类指令 transfer of control
    • 系统控制类指令 system control
    • 输入输出类指令 I/O


指令的寻址方式:

  1. 顺序寻址 // program count
  2. 跳跃寻址 //由本指令给出下一条指令地址 指令系统中的各种条件指令和无条件转移指令是为了实现指令的跳跃寻址而设置

操作数寻址方式:

  1. 隐含寻址
  2. 立即寻址
  3. 直接寻址
  4. 间接寻址
  5. 寄存器寻址
  6. 寄存器间接寻址
  7. 相对寻址
  8. 基址寻址
  9. 变址寻址
  10. 堆栈寻址

指令的执行:

  1. CPU发出指令地址
  2. 读取地址
  3. 指令送指令寄存器
  4. 指令译码
  5. 按指令操作码执行
  6. 形成下一条要取指令的地址

  寻址方式

    操作数地址(PA)

   指令格式举例

  立即寻址

操作数在指令中给出

MOV DX,100H ; (DX)←100H

  寄存器寻址

操作数在寄存器中

ADD AX,BX ; (AX)←(AX)+(BX)

  直接寻址

操作数的有效地址由指令直接给出

MOV AX,[100] ; (AX)←(100)
MOV AX,VAR ; (AX)←(VAR)

  寄存器
间接寻址

PA=(DS)×16+(BX)或(SI)或(DI)
PA=(SS) ×16+(BP)

MOV AX,[BX] ;
(AX)←((DS)×16+(BX))

  寄存器
相对寻址

PA=(DS)×16+(BX)或(SI)或(DI)+位移量
PA=(SS) ×16+(BP)+位移量

MOV AL,MESS[SI];
(AL)←((DS)×16+(SI)+OFFSET MESS)

  基址变址
寻址

PA=(DS)×16+(BX)+(SI)或(DI)
PA=(SS) ×16+(BP) +(SI)或(DI)

MOV AX,[BX+DI];
(AX)←((DS)×16+(BX)+(DI))

  相对基址
变址寻址

PA=(DS)×16+(BX)+(SI)或(DI)+位移量
PA=(SS) ×16+(BP) +(SI)或(DI)+位移量

MOV AX,BUFF(BX+DI);
(AX)←((DS)×16+(BX)+(DI)+OFFSET BUFF)

 

 

 

 

 

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

⑴通用数据传送指令   

  • MOV  传送
  • PUSH 进栈
  • POP  出栈
  • XCHG 交换

⑵累加器专用传送指令

  • IN   输入
  • OUT  输出
  • XLAT 换码

⑶地址传送指令   

  • LEA  有效地址送寄存器
  • LDS  指针送寄存器和DS
  • LES  指针送寄存器和ES

⑷标志寄存器传送指令

  • LAHF 标志送AH
  • SAHF AH送标志寄存器
  • PUSHF 标志进栈
  • POPF 标志出栈
posted @ 2006-05-06 11:31  luoweisong  阅读(4096)  评论(1编辑  收藏  举报