- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言指令集2009
汇编语言指令集一、数据传输指令 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? ? 减法的十进制调整.压缩的BCD码减法十进制调整指令MUL? ? (unsinged MULtiple)无符号乘法.IMUL (sIgned MUL tiple)整数乘法.? ? 以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),AAM? ? 乘法的ASCII码调整.DIV? ? (unsigned DIVide)无符号除法.IDIV (sIgned DIVide)整数除法.?
文档评论(0)