汇编语言各种指令解释与用法

上传人:第*** 文档编号:58293862 上传时间:2018-10-28 格式:DOC 页数:28 大小:93KB
返回 下载 相关 举报
汇编语言各种指令解释与用法_第1页
第1页 / 共28页
汇编语言各种指令解释与用法_第2页
第2页 / 共28页
汇编语言各种指令解释与用法_第3页
第3页 / 共28页
汇编语言各种指令解释与用法_第4页
第4页 / 共28页
汇编语言各种指令解释与用法_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《汇编语言各种指令解释与用法》由会员分享,可在线阅读,更多相关《汇编语言各种指令解释与用法(28页珍藏版)》请在金锄头文库上搜索。

1、【数据传输指令数据传输指令】一、通用数据传送指令通用数据传送指令1、传送指令 MOVMOV (move)指令的汇编格式:MOV DST,SRC指令的基本功能:(DST)(OPR2)指令支持的寻址方式:一个操作数必须在寄存器中,另一个操作数可以在寄存器或存储器中。指令对标志位的影戏:不影响标志位。指令的特殊要求:不允许使用段寄存器。二、累加器专用传送指令累加器专用传送指令4、输入指令 ININ (input)输出指令 OUT (output)指令的汇编格式:IN ac,port port0FFHOUT port,ac port0FFH 指令的基本功能:对 8086 及其后继机型的微处理机,所有

2、I/O 端口与 CPU 之间的通信都由输入输出指令 IN 和 OUT 来完成。IN 指令将信息从 I/O 输入到 CPU,OUT 指令将信息从 CPU 输出到I/O 端口,因此,IN 和 OUT 指令都要指出 I/O 端口地址。IN ac,port port0FFH (AL)0FFH (DX)1 时,cnt 必须放入 CL 寄存器中。 指令对标志位的影响:CF=移入的数值OF=1 当 cnt=1 时,移动后最高位的值发生变化。 OF=0 当 cnt=1 时,移动时最高位的值未发生变化。 SF、ZF、PF 根据移动后的结果设置。 35、带进位的循环左移 RCLRCL (rotate left t

3、hrough carry) 指令的汇编格式:RCL dst,cnt 指令的基本功能:RCL 对由 dst 指定的寄存器或存储器操作数,连同进位标志 CF 左循环移动,m 所指定的次数,每左移一次,把操作数的最高位移入 CF,而 CF 中原有内容移入操作数的最低位。 指定支持的寻址方式:目的操作数 dst 可以是除立即数外的任何寻址方式。移 动次数(或位数)cnt=1 时,1 可以直接写在指令中,cnt1 时,cnt 必须放入 CL 寄存器中。 指令对标志位的影响:CF=移入的数值。 OF=1 当 cnt=1 时,移动后最高位的值未发生变化。 OF=0 当 cnt=1 时,移动后最高位的值发生变

4、化。 SF、ZF、PF 标志位不受影响。 36、带进位的循环右移 RCRRCR (rotate right through carry) 指令的汇编格式:RCR dst,cnt 指令的基本功能:RCR 对由 dst 指定的寄存器或存储器操作数,连同进位标志 CF 右循环移动,m 所指定的次数,每右移一次,把操作数的最高低位移入 CF, 而 CF 中原有内容移入操作数的最高位。 指令支持的寻址方式:目的操作数 dst 可以是除立即数外的任何寻址方式。移 动次数(或位数)cnt=1 时,1 可以直接写入指令中,cnt1 时,cnt 必须放入 CL 寄存器中。 指令对标志位的影响:CF=移入的数值。

5、 OF=1 当 cnt=1 时,操作数最高位的值未发生变化。 OF=0 当 cnt=1 时,操作数最高位的值发生变化。 SF、ZF、PF 标志位不受影响。 【串处理指令串处理指令】一、设置方向标志指令设置方向标志指令 37、DF 置零 CLDCLD (clear direction flag) DF 置一 STD (set direction flag) 指令的汇编格式:CLD STD 指令的基本功能:CLD DF=0 STD DF=1 二、串处理指令 38、串传送 MOVSBMOVSB / / MOVSWMOVSW (move string byte/word) 指令的汇编格式:MOVSB

6、MOVSW 指令的基本功能:(ES:DI)-(DS:SI)(SI)-(SI)+/-1(字节)或+/-2(字) (DI)-(DI)+/-1(字节)或+/-2(字) 指令对条件码的影响:不影响条件码。 指令的特殊要求:源串必须在数据段中,目的串必须在附加段中,串处理指令 隐含的寻址方式是 SI 和 DI 寄存器的间接寻址方式。源串允许使用段跨越前缀 来指定段。 39、存串 STOSBSTOSB / / STOSWSTOSW (stroe from string byte/word) 指令的汇编格式:STOSB STOSW 指令的基本功能:(ES:DI)-(AL)或(AX) (DI)-(DI)+/-

7、1(字节)或+/-2(字) 指令对条件码的影响:不影响条件码。 指令的特殊要求:源串必须在数据段中,目的串必须在附加段中,串处理指令 隐含的寻址方式是 SI 和 DI 寄存器的间接寻址方式。源串允许使用段跨越前缀 来指定段。 40、取串 LODSBLODSB / / LODSWLODSW (load from string byte/word) 指令的汇编格式:LODSB LODSW 指令的基本功能:(AL)或(AX)-(DS:SI) (SI)-(SI)+/-1(字节)或+/-2(字) 指令对条件码的影响:不影响条件码。 指令的特殊要求:源串必须在数据段中,目的串必须在附加段中,串处理指令 隐

8、含的寻址方式是 SI 和 DI 寄存器的间接寻址方式。源串允许使用段跨越前缀 来指定段。 41、串比较 CMPSBCMPSB / / CMPSWCMPSW (compare string byte/word) 指令的汇编格式:CMPSB CMPSW 指令的基本功能:(DS:SI)-(ES:DI) 根据比较结果设置条件码 (SI)-(SI)+/-1(字节)或+/-2(字) (DI)-(DI)+/-1(字节)或+/-2(字) 指令对条件码的影响:SF=1 减法结果为负数(符号位为 1) SF=0 减法结果为正数(符号位为 0) ZF=1 减法结果为零 ZF=0 减法结果不为零 CF=1 二进制减法

9、运算中最高有效位向高位有借位(被减数小于减数,不够减的 情况) CF=0 二进制减法运算中最高有效为向高位无借位(被减数=减数,够减的情 况) OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。 OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。 42、串扫描 SCASBSCASB / / SCASWSCASW (scan string byte / word) 指令的格式:SCASB SCASW 指令的基本功能:(AL)-(ES:DI)或(AX)-(ES:DI) 根据扫描比较的结果设置条件码。 (DI)-(DI)+/-1(字节)或+/-2(字) 指令对

10、条件码的影响:SF=1 结果为负数(符号位为 1) SF=0 结果为正数(符号位为 0) ZF=1 结果为零 ZF=0 结果不为零 CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的 情况) CF=0 二进制减法运算中最高有效为向高位无借位(被减数=减数,够减的情 况) OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。 OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。 三、串重复前缀串重复前缀 43、重复执行串 REPREP 指令的汇编格式:REP (CX)=重复次数 指令的基本功能: (CX)=0 时,串指令执行完毕,否则执

11、行 (CX)(CX)1 执行串指令(MOVS 或 STOS) 重复执行 44、相等/为零时重复执行串指令 REPE/REPZ 指令的汇编格式:REPE / REPZ (CX)=比较/扫描的次数 指令的基本功能: (CX)=0 或 ZF=0 时,结束执行串指令,否则继续 (CX)(CX)1 执行串指令(CMPS 或 SCAS) 重复执行 45、不等/不为零时重复执行串指令 REPNE / PEPNZ 指令的汇编格式:REPNE / PEPNZ (CX)=比较/扫描的次数 指令的基本功能: (CX)=0 或 ZF=1,结束执行串指令,否则继续 (CX)(CX)1 执行串指令(CMPS 或 SCAS

12、) 重复执行【控制转移指令控制转移指令】一、无条件转移指令无条件转移指令 46、短转移 JMPJMP SHORTSHORT labellabel (short jump) 指令的汇编格式:JMP SHORT label 指令的基本功能:(IP)-当前(IP)+8 位位移量 8 位位移量是汇编程序在汇编源 程序时,根据目标地址和当前 IP 之间的距离自动生成的。 指令对条件码的影响:对标志位无影响。 47、近转移 JMPJMP NEARNEAR PTRPTR labellabel (near jump) 指令的汇编格式:直接转移 JMP label (direct jump) 寄存器间接转移 J

13、MP reg (register indirect jump) 存储器间接转移 JMP WORD PTR OPR (memory indirect jump) 指令的基本功能:JMP label (IP) - OFFSET label = (IP)当前16 位位移 量 JMP reg (IP) - (reg) JMP WORD PTR OPR (IP) - (PA+1,PA)指令支持的寻址方式:指令中的转向地址可以是直接寻址方式、寄存器寻址方 式、寄存器间接寻址方式和存储器寻址方式。 指令对条件码的影响:对标志位无影响。 48、远转移 JMPJMP FARFAR PTRPTR labellab

14、el (for jump) 指令的汇编格式:JMP FAR PTR label 指令的基本功能:(IP)-label 的段内偏移地址 (CS)-label 所在段的段地址 指令支持的寻址方式:远转移的目的地址可以使用除立即寻址方式外的任何寻 址方式来表示。指令对条件码的影响:对标志位无影响。 二、条件转移指令条件转移指令 指令的汇编格式及功能 根据条件码的值转移: 49、JZ(JE) OPR ZF=1 ZF=0ZF=0(运算结果为(运算结果为 0 0,ZFZF 就置就置 1 1) 50、JNZ(JNE) OPR ZF=0 51、JS OPR SF=1 SFSF=0(二进制最高位是 什么,SF

15、就是什么,如最高位为 1 则 SF=1) 52、JNS OPR SF=0 53、JO OPR OF=1 OFOF=1 (两个负数相加变成 正数,溢出) 54、JNO OPR OF=0 55、JP OPR PF=1 PFPF=0 (反映结果“1”的 个数,奇数0 偶数个1) 56、JNP OPR PF=0 57、JC OPR CF=1 CFCF=1(最高位有进位或 借位就置 1) 58、JNC OPR CF=0 比较两个无符号数,根据比较的结果转移 59、JB(JNAE,JC) OPR CF=1 被减数小于减数则转移 60、JNB(JAE,JNC) OPR CF=0 被减数大于或等于减数则转移 61、JBE(JNA) OPR CF 或 ZF=1 被减数小于或等于减数则转移 62、JNBE(JA) OPR CF 或 ZF=0 被减数大于减数则转移 比较两个带符号数,根据比较结果转移 63、JL/JNGE OPR SF 异或 OF=1 被减数小于减数则转移 64、JNL/JGE SF 异或 OF=0 被减数不小于减数则转移 65、JLE/JNE (SF 异或 OF)与 ZF=1 被减数不大于减数则转移 66、JNLE/JG (SF 异或 OF)与 ZF=0 被减数大于减数则转移 根据

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号