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

该博客详细介绍了如何使用80C51单片机进行排序加法的汇编语言编程。首先设置初始位置,然后通过循环将30H和50H地址的数相加,并存储结果到50H地址。接着,进行两组数的比较排序,使用DPL作为计数器,实现从50H到70H的数值比较和交换,确保排序正确。最后,检查是否有进位并将其存储,整个过程展示了80C51单片机的底层操作和编程技巧。
摘要由CSDN通过智能技术生成

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

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 $

责任编辑:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值