单片机题。。明天考试,急急急!

MOV R0,#20H
MOV 2BH,@R0
LOOP:MOV A,@R0
CJNE A,2BH,NEXT
SJMP LP
NEXT:JNC LP
MOV 2BH,A
LP:INC R0
DJNZ 30H,LOOP
RET

(1)简要说明该程序功能
(2)该程序是否为循环程序,若是,其循环次数由什么确定
(3)简要说明程序中第六条指令的作用,若将此改为JC LP,则程序运行结果有何变化。

请教大侠,急急急~~~
主要是不懂这程序的功能

1。本程序的主要功能完成在一个数据表格中查找最小值。找到的最小值存放
在2BH中、
2。该程序为循环程序,其循环次数由30H中的值确定。
3。第六指令的作用是判断刚取到的值是否比当前的最小值要大,若是,则跳转
到LP处;若将此改为JC LP,则程序运行结果是查找最大值。

MOV R0,#20H 把立即数20h传送到R0寄存器
MOV 2BH,@R0 将R0中的内容为地址的RAM单元中的内容传送到2BH
LOOP:MOV A,@R0 把R0中的内容为地址的RAM单元中的内容传送到A中
CJNE A,2BH,NEXT 2BH与A作比较,不等 则转移到NEXT
SJMP LP 跳转到 LP
NEXT:JNC LP 若无借位(即A中的内容大于2BH中的内容),则跳转
到LP
MOV 2BH,A 将A传送到2BH中
LP:INC R0 将R0中的内容加1
DJNZ 30H,LOOP 将30H减1 不为0则转移到LOOP
RET 子程序调用返回
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-25
MOV R0,#20H 把立即数20h传送到R0寄存器
MOV 2BH,@R0 将R0中的内容传送到2BH
LOOP:MOV A,@R0 把R0中的内容传送到A中
CJNE A,2BH,NEXT 2BH与A作比较,不等 则转移到NEXT
SJMP LP 转移到 LP
NEXT:JNC LP 判断是否有进位,有进位 则转移到LP
MOV 2BH,A 将A传送到2BH中
LP:INC R0 将R0中的内容加1
DJNZ 30H,LOOP 将30H减1 不为0则转移到LOOP
RET 子程序调用返回
第2个回答  2010-05-24
是的 看到loop 基本就可以确定是循环了 因为通常用loop表示循环体
后面有djnz loop 更证明 是了
相似回答