简单的51单片机编程题

题目和我的解答过程如图所示,大家帮忙看一下这种做法对吗?不对的话哪里出错了,能不能给我指出来,然后按照我的思路帮忙修改一下

第1个回答  2010-05-08
你的程序大体上是对的,就是少了向结尾跳转的语句
ORG 0000H
LJMP MAIN

ORG 1000H
MAIN:
MOV A,40H
JZ LING
JB ACC.7,FUSHU
MOV A,#01H
AJMP OVER
LING:
MOV A,#00H ;若执行到此句说明程序结束
AJMP OVER;转至结束,下面的同理
FUSHU:
MOV A,#-1
AJMP OVER

OVER:
MOV 41H,A
SJMP $
END
第2个回答  2010-05-07
MOV A,40H
JZ LING
JB ACC.7,FUSHU
MOV A,#01H
;----------------------------
AJMP OVER ; 一楼的,在这里漏掉了 提醒别人 的语句!
;----------------------------
LING:
MOV A,#00H ;若执行到此句说明程序结束
AJMP OVER;转至结束,下面的同理
FUSHU:
MOV A,#-1
AJMP OVER ;这一行,多余了

OVER:
MOV 41H,A
SJMP $
END
第3个回答  2010-05-07
进行了三个分支之后,每个分支都应该执行:
MOV 41H, A
即:
……
MOV A, #01H
SJMP EEE
LING:
MOV A, #0
SJMP EEE
FU:
MOV A, #0FFH
EEE:
MOV 41H, A本回答被提问者采纳