●●●6●●● 第九章常用控制程序设计 ●●●●●●●●●●●●●●●● HEQU: CLR CY;标志位清零 MOvA,M;A←ML MOvR2,NL;R2←NL SUBB A,R2;低8位比较 JZ EQU;A=0,则M=N,转EQU JC LESS;有借位,则M<N,转LESS BIG:MN处理程序;无借位,执行MN理程序 EUQ:MN处理程序 LESS:M<N处理程序
第九章 常用控制程序设计 HEQU: CLR CY ;标志位清零 MOV A,ML ;A←ML MOV R2,NL ;R2←NL SUBB A,R2 ;低8位比较 JZ EQU ;A=0,则M=N,转EQU JC LESS ;有借位,则M<N,转LESS BIG: M>N处理程序 ;无借位,执行M>N理程序 EUQ: M=N 处理程序 LESS: M<N 处理程序 … …
●●●6●●● 第九章常用控制程序设计 ●●●●●●●●●●●●●●●● 3两个8位有符号数的比较 由于M和N均为有符号数,M和N两数在比较时, 可能出现以下四种情况: (1)M>0,N>0,即两数均为正数。 (2)M>0,N<0,即M为正数,N为负数。 (3)M<0,N>0,即M为负数,N为正数。 (4)M<0,N<0,即两数均为负数
第九章 常用控制程序设计 3. 两个8位有符号数的比较 由于M和N均为有符号数, M和N两数在比较时, 可能出现以下四种情况: (1)M>0,N>0, 即两数均为正数。 (2)M>0,N<0, 即M为正数,N为负数。 (3)M<0,N>0, 即M为负数,N为正数。 (4)M<0,N<0, 即两数均为负数
●●●6●●● 第九章常用控制程序设计 ●●●●●●●●●●●●●●●● M→>A M-N=0? 是 溢出否? 是 ACC.7=1? AC712是 否 转M=N程序 转M<N程序 转MN程序 图6-48位有符号数的比较流程框图
第九章 常用控制程序设计 图6-4 8位有符号数的比较流程框图 M A M-N=0? 溢出否? ACC.7=1? ACC.7=1? 否 否 否 否 是 是 是 是 转M=N程序 转M<N程序 转M>N程序
●●●6●●● 第九章常用控制程序设计 ●●●●●●●●●●●●●●●● 8位有符号数比较程序清单: MOV AM ;A←M MOV R2.N R2←N SUBB A R2 ;M和N比较 JZ EQU M和N相等,转相等处理程序 JB PSW.2FLOW ;判断是否溢出 JB ACC.ZLESS 无溢出,且A的最高位为1,则M<N AJMP BIG 否则,MN FLOW: JB ACC.7, BIG ;有溢出,且A的最高位为1,则MN LESS:MN处理程序 否则,M<N,执行LESS执行程序 BIG:MN处理程序 EUQ:M=N处理程序 返回本节 a
第九章 常用控制程序设计 8位有符号数比较程序清单: … … MOV A,M ;A←M MOV R2,N ;R2←N SUBB A,R2 ;M和N 比较 JZ EQU ;M和N相等,转相等处理程序 JB PSW.2,FLOW ;判断是否溢出 JB ACC.7,LESS ;无溢出,且A的最高位为1,则M<N AJMP BIG ;否则,M>N FLOW: JB ACC.7,BIG ;有溢出,且A的最高位为1,则M>N LESS: M<N处理程序 ;否则,M<N,执行LESS执行程序 BIG: M>N处理程序 EUQ: M=N处理程序 … … 返回本节
●●●6●●● 第九章常用控制程序设计 ●●●●●●●●●●●●●●●● 6.1.2逻辑判断程序 逻辑判断程序的设计步骤: (1)读入数据(开关状态或阀门的位置); (2)屏蔽不需要的状态位; (3)与所要求的状态比较; (4)判断比较结果,选择程序入口
第九章 常用控制程序设计 6.1.2 逻辑判断程序 逻辑判断程序的设计步骤: (1)读入数据(开关状态或阀门的位置); (2)屏蔽不需要的状态位; (3)与所要求的状态比较; (4)判断比较结果,选择程序入口