已知内部RAM的M1和M2单元中各有一个无符号8位二进制数,试编程比较他们的大小,并把大数送到MAX单元;

程序代码:
MOV A,M1;
CJNE A,M2,LOOP;
LOOP:JNC LOOP1;
MOV A,M2;
LOOP1:MOV MAX,A;
RET;
在这个程序中,我不明白的是,执行到第二句CJNE A,M2,LOOP;
以后,如果跳转到LOOP执行,完毕以后,是否又转移回到LOOP程序段的MOV A,M2执行呢?

:
MOV A,M1;
CJNE A,M2,LOOP; // A - M2,仅仅产生标志位,往下顺序执行.
LOOP:JNC LOOP1; // Cy = 0 转移.
MOV A,M2; // Cy = 1 才执行这行.
LOOP1:MOV MAX,A; //
RET;

程序中,仅有JNC一条,起了转移作用,(跳过了一行,)其它都是顺序执行。
并没有再回去执行的 MOV A,M2 的功能。
温馨提示:答案为网友推荐,仅供参考
相似回答