80x86指令系统的指令大全详细资料说明

资料大小: 0.07 MB

所需积分: 2

下载次数:

用户评论: 0条评论,查看

上传日期: 2019-07-12

上 传 者: TUNE-ZG他上传的所有资料

资料介绍

标签:指令(173)存储器(2188)寄存器(1501)

  80x86指令系统

  80x86的指令系统可以分为以下6组:

  数据传送类指令

  算术指令

  逻辑指令

  串处理指令

  控制转移指令

  处理机控制指令

  1、数据传送指令

  数据传送类指令负责把数据、地址或立即数传送到寄存器存储单元中。它又可以分为五种:

  1.1、通用数据传送指令

  MOV 传送

  MOVSX 带符号扩展传送

  MOVZX 带零扩展传送

  PUSH 进栈

  POP 出栈

  PUSHA 所有寄存器进栈

  POPA 所有寄存器出栈

  XCHG 交换

  (1)MOV传送指令

  格式为:MOV DST,SRC

  执行操作:(DST)《——(SRC)

  MOV指令可以在CPU内或CPU和存储器之间传送字或字节,MOV指令不影响标志位

  (2)MOVSX带符号扩展传送指令

  格式为:MOVSX DST,SRC

  执行操作:(DST)《——符号扩展(SRC)

  该指令的源操作数可以是8位或16位的寄存器或存储单元的内容,而目的操作数则必须是16位或32位寄存器,传送时把源操作数扩展送入目的寄存器。MOVSX不影响标志位

  (3)MOVZX带零扩展传送指令

  格式为:MOVZX DST,SRC

  执行操作:(DST)《——零扩展(SRC)

  MOVSX和MOVZX指令与一般双操作数指令的差别是:一般双操作数指令的源操作数和目的操作数的长度是一致的,但MOVSX和MOVZX的源操作数长度一定要小于目的操作数长度

  (4)PUSH进栈指令

  格式为:PUSH SRC

  执行操作:

  16位指令:

  (SP)《——(SP)-2

  ((SP)+1),(SP))《——(SRC)

  32位指令:

  (ESP)《——(ESP)-4

  ((ESP)+3),(ESP)+2),(ESP)+1)(ESP))《——(SRC)

  (5)POP出栈指令

  格式为:POP DST

  执行操作:

  16位指令:

  (DST)《——((SP)+1),(SP))

  (SP)《——(SP)+2

  32位指令:

  (DST)《——((ESP)+3),(ESP)+2),(ESP)+1)(ESP))

  (ESP)《——(ESP)+4

  堆栈是一种“后进先出”方式工作的一个存储区,它必须存在于堆栈段中,因而其段地址存放于SS寄存器中。它只有一个出入口,所以只有一个堆栈指针寄存器。当堆栈地址长度为16位时用SP寄存器,堆栈地址长度为32位时用ESP,SP或ESP的内容在任何时候都指向当前的栈顶,所以POP和PUSH指令都必须根据当前SP或ESP的内容来确定进栈或出栈的存储单元,而且必须及时修改指针,以保证SP或ESP指向当前的栈顶。PUSH和POP指令均不影响标志位

  (5)XCHG交换指令

  格式为:XCHG OPR1 OPR2

  执行操作:(OPR1)《——》(OPR2)

  该指令不影响标志位

用户评论

查看全部 条评论

发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传云顶娱乐平台下载资料
博聚网