查找大数,显示在P2端口
第1页/共1页
查找大数,显示在P2端口
对例4-8的修改
;#################################存储数据到30H~3FH
MOV R0,#30H;存储数据的首地址
MOV @R0,#1 ;赋值
INC R0
MOV @R0,#2 ;赋值
INC R0
MOV @R0,#4 ;赋值
INC R0
MOV R2,#3 ;数据个数
;#################################查找大数
MOV R0,#30H ;存储数据的首地址
MOV A,@R0 ;取存储首地址的数据到A
MOV R3,A ;存储最末的数据到R3
LOOP1:
MOV A,R3 ;读取最大数
INC R0 ;指向下一个数据
CLR C
SUBB A,@R0 ;比较原最大数据和下一个数据
JNC LOOP2 ;C=0,原最大数据大,继续比较
MOV A,@R0 ;C=1,下一个数据大,送R3存储
MOV R3,A ;送R3存储
LJMP LOOP2 ;继续比较
LOOP2:
DJNZ R2,LOOP1 ;继续比较结束了否?
;#################################存储大数到40H,显示在P2端口
MOV 40H,R3 ;最大数据存储到40H
MOV P2,40H
SJMP $
END
;#################################存储数据到30H~3FH
MOV R0,#30H;存储数据的首地址
MOV @R0,#1 ;赋值
INC R0
MOV @R0,#2 ;赋值
INC R0
MOV @R0,#4 ;赋值
INC R0
MOV R2,#3 ;数据个数
;#################################查找大数
MOV R0,#30H ;存储数据的首地址
MOV A,@R0 ;取存储首地址的数据到A
MOV R3,A ;存储最末的数据到R3
LOOP1:
MOV A,R3 ;读取最大数
INC R0 ;指向下一个数据
CLR C
SUBB A,@R0 ;比较原最大数据和下一个数据
JNC LOOP2 ;C=0,原最大数据大,继续比较
MOV A,@R0 ;C=1,下一个数据大,送R3存储
MOV R3,A ;送R3存储
LJMP LOOP2 ;继续比较
LOOP2:
DJNZ R2,LOOP1 ;继续比较结束了否?
;#################################存储大数到40H,显示在P2端口
MOV 40H,R3 ;最大数据存储到40H
MOV P2,40H
SJMP $
END
第1页/共1页
您在这个论坛的权限:
您不能在这个论坛回复主题