51单片机编程:将ram30h-50h里最小数找出来存到ram的6fh单元中

最好标上每一步什么意思,谢谢啦

;启动入口
ORG 0000H ;复位启动
LJMP START ;
ORG 0100H ;主程序从0100H开始
;
;主控程序
START: MOV R0,#50H ;用R0间接寻址
MOV X,#0FFH ;预先存入一个字节所能装下的最大值
LOOP: MOV A,@R0 ;取得一个源数据
CLR C ;为做减法做准备
SUBB A,X ;源数据-X中数据
JNC NUM ;结果大于或等于转移
MOV X,@R0 ;结果小于X中数据,替换
NUM: DEC R0 ;指向下一字节
CJNE R0,#2FH,LOOP ;一直比较到30H
NEXT: JMP $ ;比较完毕,最小值在6FH中
;
X EQU 6FH ;定义变量X,地址是6FH
END ;追问

怎么调试呢?

追答

上机仿真。

追问

我们老师说在模拟器里填数,那个窗口我找到了,不会填数啊

追答

;启动入口
ORG 0000H ;复位启动
LJMP START ;
ORG 0100H ;主程序从0100H开始
;
;主控程序
START: MOV R0,#50H ;用R0间接寻址
MOV 30H,#3
MOV 31H,#34
MOV 32H,#53
MOV 33H,#87
MOV 34H,#123
MOV 35H,#23
MOV 36H,#253
MOV 37H,#37
MOV 38H,#46
MOV 39H,#77
MOV 3AH,#88
MOV 3BH,#99
MOV 3CH,#100
MOV 3DH,#233
MOV 3EH,#49
MOV 3FH,#97
MOV 40H,#66
MOV 41H,#86
MOV 42H,#126
MOV 43H,#35
MOV 44H,#155
MOV 45H,#166
MOV 46H,#69
MOV 47H,#85
MOV 48H,#147
MOV 49H,#81
MOV 4AH,#42
MOV 4BH,#37
MOV 4CH,#72
MOV 4DH,#111
MOV 4EH,#222
MOV 4FH,#133
MOV 50H,#255
MOV X,#0FFH ;预先存入一个字节所能装下的最大值
LOOP: MOV A,@R0 ;取得一个源数据
CLR C ;为做减法做准备
SUBB A,X ;源数据-X中数据
JNC NUM ;结果大于或等于转移
MOV X,@R0 ;结果小于X中数据,替换
NUM: DEC R0 ;指向下一字节
CJNE R0,#2FH,LOOP ;一直比较到30H
NEXT: JMP $ ;比较完毕,最小值在6FH中
;
X EQU 6FH ;定义变量X,地址是6FH
END ;

追问

还能再问你一个吗?

我又有问题了,你帮我看看

我提问了,你去回答吧

财富值很高的

你会吗,能回我一下吗?

温馨提示:答案为网友推荐,仅供参考
相似回答