汇编语言指令集.doc

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言指令集

汇编指令集汇编指令指令系统分为以下6组: 1、 数据传送指令 ;2、 算术指令;3、 逻辑指令 ;4、 串处理指令;5、 控制转移指令 ;6、 处理机控制指令 一、 数据传送指令⑴ 通用数据传送指令 MOV  传送 PUSH 进栈 POP  出栈 XCHG 交换 ⑵ 累加器专用传送指令IN   输入OUT  输出XLAT 换码⑶ 地址传送指令LEA  有效地址送寄存器LDS  指针送寄存器和DSLES   指针送寄存器和ES⑷ 标志寄存器传送指令LAHF  标志送AHSAHF  AH送标志寄存器PUSHF 标志进栈POPF  标志出栈汇编语言指令一、数据传输指令 ???? 1. 通用数据传送指令. MOV???? (MOVe) 传送字或字节. MOVS??? (MOVe String)???? 串传送指令 MOVSX??? 先符号扩展,再传送. MOVZX??? 先零扩展,再传送. PUSH???? 把字压入堆栈. POP????? 把字弹出堆栈. PUSHA??? 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA???? 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈. POPAD??? 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈. BSWAP??? 交换32位寄存器里字节的顺序 XCHG??? (eXCHanG)交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数) CMPXCHG比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX ) XADD???? 先交换再累加.( 结果在第一个操作数里 ) XLAT??? (TRANSLATE) 字节查表转换. BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即0-FFH); 返回 AL 为查表结果. ( [BX+AL]-AL ) ????? 2. 输入输出端口传送指令. IN?????? I/O端口输入. ( 语法: IN 累加器, {端口号DX} ) OUT????? I/O端口输出. ( 语法: OUT {端口号DX},累加器 ) ????? 输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时,其范围是 0-65535. ????? 3. 目的地址传送指令. LEA???? (Load Effective Address)装入有效地址. ??? 例: LEA DX,string ;把偏移地址存到DX. LDS???? (Load DS with pointer)传送目标指针,把指针内容装入DS. ??? 例: LDS SI,string ;把段地址:偏移地址存到DS:SI. LES???? (Load ES with pointer)传送目标指针,把指针内容装入ES. ??? 例: LES DI,string ;把段地址:偏移地址存到ES:DI. LFS 传送目标指针,把指针内容装入FS. ??? 例: LFS DI,string ;把段地址:偏移地址存到FS:DI. LGS 传送目标指针,把指针内容装入GS. ??? 例: LGS DI,string ;把段地址:偏移地址存到GS:DI. LSS 传送目标指针,把指针内容装入SS. ??? 例: LSS DI,string ;把段地址:偏移地址存到SS:DI. ????? 4. 标志传送指令. LAHF??? (Load AH with Flags)标志寄存器传送,把标志装入AH. SAHF??? (Store AH into Flgs)标志寄存器传送,把AH内容装入标志寄存器. PUSHF (PUSH the Flags)标志入栈. POPF??? (POP the Flags)标志出栈. PUSHD??? 32位标志入栈. POPD???? 32位标志出栈. 二、算术运算指令   ADD 加法. ADC??? 带进位加法. INC??? 加 1. AAA??? 加法的ASCII码调整.非压缩的BCD码加法十进制调整指令 DAA??? 加法的十进制调整.压缩的BCD码加法十进制调整指令 SUB??? (SUBtract)减法. SBB??? (SuVtrach with borrow)带借位减法. DEC??? (DECrement)减 1. NEC??? (NEGate)求反(以 0 减之). CMP??? (CoMPare)比较.(两操作数作减法,仅修改标志位,不回送结果). AAS??? 减法的ASCII码调整.非压缩的BCD码加法十进制调整指令 DAS??? 减法

文档评论(0)

sb9185sb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档