- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)