《第六课 条件转移.doc》由会员分享,可在线阅读,更多相关《第六课 条件转移.doc(3页珍藏版)》请在金锄头文库上搜索。
1、转移指令转移指令包括:条件转移指令和无条件转移指令。转移指令一共有19条一、 条件转移1、 简单条件转移指令。这类指令是根据单个标志的状态决定是否转移的,一共有10条2、 无符号数条件转移指令3、 有符号数条件转移指令语句格式:标号: 操作符 短标号功能:如果条件满足,那么IP+位移量送还给IP1条件转移指令 标志CF、ZF、OF、SF、PF分别为1或者0,可以表示10种状态。指令名称助记符转移条件说明相等/等于0时转移JE/JZZF=1测试当前操作操作结果是否为0不相等/不为0时转移JNE/JNZZF=0测试当前操作结果是否不为0为负转JSSF=1测试当前操作结果是否为负为正转JNSSF=0
2、测试当前操作结果是否为正溢出转JOOF=1测试当前操作结果是否溢出未溢出转JNOOF=0测试当前操作结果是否未溢出进位位为1转JCCF=1测试当前操作结果是否有进位或者有借位进位位为0转JNCCF=0测试当前操作结果是否无进位或者无借位偶转移JP/JPEPF=1测试当前操作结果中1的个数是否为偶数奇转移JNP/JPOPF=0测试当前操作结果中1的个数是否为奇数例如: .MOV Y,-1MOV AX,X CMP AX,0 JE EXIT1 ;如果AX=0,那么转到EXIT1处 ADD AX,1000H JO OVERFLOW ;X+1000H产生溢出时转到OVERFLOWJNS EXIT1;X+
3、1000H的和为正数时转到EXIT1 NEG AX ;AX的和为负数时求其补码EXIT1: MOV Y,AX ;MOV AH,4CH INT 21OVERFLOW:.MOV AH,4CHINT 21H2无符号数条件转移指令根据不同的状态,设置了高于、高于或等于、低于、低于或等于例如:无符号数a和b,比较 a和b的大小指令判断条件条件满足状态JA/JNBECF=0且ZF=0转移abJAE/JNBCF=0或ZF=1转移a=bJB/JNAECF=1且ZF=0时转移abJBE/JNACF=1或ZF=1时转移a=bJGE/JNL大于或等于时转移SF=OF或ZF=1a=bJL/JNGE大于且不等于时转移SF!=OF且ZF=0abJLE/JNG小于或等于时转移SF!=OF或ZF=1a=b例如:CMP AL,8 JG L1 L1:.设AL=15H,AL8,满足条件实现转移 AL=8H,AL=8,不满足条件转移指令继续往下指令 AL=1H,AL8,不满足条件转移指令继续往下指令