新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 实验二:排序、加法(80C51单片机汇编语言编程)

实验二:排序、加法(80C51单片机汇编语言编程)

作者: 时间:2016-11-23 来源:网络 收藏
有两个长度为10H的数,分别放到30H和40H为首地址的存储器中(低字节),求其对应之和,放在50H为首地址的存储器中(处理进位位),然后按升序排列,放在70H为首地址的存储器中
汇编程序:
ORG 0000H;设置初始位置
START:MOV R0,#30H
MOV R1,#50H
MOV R3,#10H
CF:MOV A,@R0;将30H的数放在50H
MOV @R1,A
INC R0
INC R1
DJNZ R3,CF

MOV R0,#50H
MOV R1,#40H
MOV R3,#10H
CLR C
JIA:MOV A,@R0;将两个数求和
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R3,JIA

CLR A;查看最后一个数是否有进位位
ADDC A,#00H
MOV 60H,A

MOV R0,#50H;将50H的数放到70H
MOV R1,#70H
MOV R3,#10H
ZY:MOV A,@R0
MOV @R1,A
INC R0
INC R1
DJNZ R3,ZY

MOV DPL,#0FH;用DPL计数
AA:MOV R0,#70H
MOV R1,#71H
PUSH DPL;保护DPL
BB:CLR C
MOV A,@R0
SUBB A,@R1
JC CC;第一个数小于第二个数跳转
MOV A,@R0
XCH A,@R1
MOV @R0,A
CC:INC R0
INC R1
DJNZ DPL,BB;减一不等于零跳转(内循环)
POP DPL
DJNZ DPL,AA;减一不等于零跳转(外循环)
SJMP $
END


评论


技术专区

关闭
×

TI直播中...
汽车电气化背景下的TI音频解决方案和技术线上研讨会直播中,早鸟报名礼、myTI 专属礼、活动参与礼等着您(已经报名用户可以凭报名邮箱直接登录),速入>>