注册 登录
编程论坛 汇编论坛

谁进来帮我解释一下这个小程序???

chendsily 发布于 2008-10-22 00:48, 869 次点击
题目是:当A累加器分别满足A>=10.A>10 .A<=10 时.移至LABEL..下面是三种情况.不过有太懂.希望能给注释一下

(1) CLR C
SUBB A,#0AH
JNC LABEL

(2) SETB C
CJNE A,#0AH ,L1
L1:JNC LABEL

(3) CLR C
SUBB A,#0AH
JZ LABEL
JC LABEL
1 回复
#2
cnhanxiao2008-10-22 03:14
(1) CLR C         ;清进位标志,就是CY=0
SUBB A,#0AH       ;A寄存器-立即数0Ah-CY,结果在A寄存器中
JNC LABEL         ;CY=0则跳转到标号LABEL处
如A>=10,CY=0,A<10,CY=1

(2) SETB C        ;置进位标志,即CY=1
CJNE A,#0AH ,L1   ;A寄存器内容不等于立即数0Ah的话,跳转到标号L1处,同时置位CY
L1:JNC LABEL     ;CY=0则跳转到标号LABEL处

(3) CLR C         ;同上
SUBB A,#0AH       ;同上
JZ LABEL          ;A=0转标号LABEL——A=10时
JC LABEL          ;CY=1转标号LABEL——A<10时
1