作业帮 > 综合 > 作业

单片机编程问题,急我想问我的这个程序错在哪里了,一直只在loop1那里循环建立某课程若干人成绩表,分别统计优秀,良好,中

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/03 11:23:16
单片机编程问题,急
我想问我的这个程序错在哪里了,一直只在loop1那里循环
建立某课程若干人成绩表,分别统计优秀,良好,中等,及格,不及格人数
ORG 0000H
AJMP MAIN
ORG 0040H
MAIN:
MOV R0,#30H 成绩,从30H单元开始放
MOV R2,#0 优秀
MOV R3,#0 良好
MOV R4,#0 中等
MOV R5,#0 及格
MOV R6,#0 不及格
LOOP:MOV A,@R0
CJNE A,#90,COMP1 比较分数,不等于90,跳转到comp1
SJMP LOOP1 等于90跳转到loop1
COMP1:JNC LOOP1 cy=0,说明分数大于90跳转到loop1
JC NEXT1 cy=1,说明分数小于90跳转到next1
LOOP1:INC R2
INC R0
NEXT1:CJNE A,#80,COMP2
SJMP LOOP2
COMP2:
JNC LOOP2
JC NEXT2
LOOP2:INC R3
INC R0
NEXT2:CJNE A,#70,COMP3
SJMP LOOP3
COMP3:
JNC LOOP3
JC NEXT3
LOOP3:INC R4
INC R0
NEXT3:CJNE A,#60,COMP4
SJMP LOOP4
COMP4:
JNC LOOP4
JC LOOP5
LOOP4:INC R5
INC R0
LOOP5:INC R6
INC R0
单片机编程问题,急我想问我的这个程序错在哪里了,一直只在loop1那里循环建立某课程若干人成绩表,分别统计优秀,良好,中
每个Loop最后加上 SJMP LOOP
再问: 加了后也不对,我在30H中输入88H,不跳转到next1,不管怎么,都是一直在loop1处循环,不跳转到其他地方
再答: cjne 改成大于等于那条指令试一下具体忘了