ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:16.67KB ,
资源ID:7227999      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7227999.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机汇编程序集2.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51单片机汇编程序集2.docx

1、51单片机汇编程序集2辛普生积分程序内部RAM数据排序程序(升序外部RAM数据排序程序(升序外部RAM浮点数排序程序(升序BCD小数转换为二进制小数(2位BCD小数转换为二进制小数(N位BCD整数转换为二进制整数(1位BCD整数转换为二进制整数(2位BCD整数转换为二进制整数(3位BCD整数转换为二进制整数(N位二进制小数(2位转换为十进制小数(分离BCD码二进制小数(M位转换为十进制小数(分离BCD码二进制整数(2位转换为十进制整数(分离BCD码二进制整数(2位转换为十进制整数(组合BCD码二进制整数(3位转换为十进制整数(分离BCD码二进制整数(3位转换为十进制整数(组合BCD码二进制整数

2、(M位转换为十进制整数(组合BCD码三字节无符号除法程序(R2R3R4/R7=(R2R3R4 余数R7 ;辛普生积分程序;入口: DPTR,N,COUNT;占用资源: A CC,R3,R4,R6,R7;堆栈需求: 2字节;出口: R3,R4SJF : MOV R7,NMOVX A,DPT RINC DPTRMOV R4,AMOV R3,#00HDEC R7SJF1 : MOVX A,DPT R INC DPTRCLR CRLC AMOV R6,ACLR ARLC AXCH A,R7JNB ACC.0,SJF2XCH A,R6RLC AXCH A,R6XCH A,R7RLC AXCH A,R7S

3、JF2 : XCH A,R7XCH A,R6ADD A,R4MOV R4,AMOV A,R6MOV R3,ADJNZ R7,SJF1SJF3 : MOVX A,DPT R ADD A,R4MOV R4,ACLR AADDC A,R3MOV R3,AMOV R7,#COUNT LCALL NMUL21MOV A,NMOV B,#03HMUL ABMOV R7,ALCALL NDIV31RETNMUL21 : MOV A,R4 MOV B,R7MUL ABMOV R4,AMOV A,BXCH A,R3MOV B,R7MUL ABMOV R3,ACLR AADDC A,BMOV R2,ACLR OV

4、RETNDIV31 : MOV B,#10H NDV311 : CLR CMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,AMOV F0,CCLR CSUBB A,R7JB F0,NDV312JC NDV313NDV312 : MOV R2,A INC R4NDV313 : DJNZ B,NDV311 RET;内部RAM数据排序程序(升序 ;入口: R0(起始地址,N(数据个数 ;占用资源: A CC,B,R5,R6,R7;堆栈需求: 2字节;出口: R0ISELSORT : MOV R7,N DEC R7ISST1:

5、 MOV A,R7MOV R6,AMOV A,R0MOV R1,AMOV R2,AMOV B,R1ISST2: INC R1MOV A,R1CLR CSUBB A,BJC ISST3MOV A,R1MOV R2,AMOV B,R1ISST3: DJNZ R6,ISST2XCH A,R1MOV B,R2MOV R1,BMOV R1,ADJNZ R7,ISST1RET;外部RAM数据排序程序(升序;入口: A DDPH,ADDPL(起始地址,N(数据个数 ;占用资源: A CC,B,R0,R1,R5,R7;堆栈需求: 2字节;出口: A DDPH-ADDPLESELSORT : MOV R7,ND

6、EC R7ESST1: MOV A,R7MOV R6,AMOV DPL,ADDPLMOV R1,DPLMOV DPH,ADDPHMOV R0,DPHMOVX A,DPT RMOV B,AESST2: INC DPT RMOVX A,DPT RSUBB A,BJC ESST3MOV R0,DPLMOV R1,DPHMOVX A,DPT RMOV B,AESST3: DJNZ R6,ESST2MOVX A,DPT RXCH A,BMOVX DPT R,AMOV DPL,R0MOV DPH,R1MOV A,BMOVX DPT R,ADJNZ R7,ESST1RET;外部RAM浮点数排序程序(升序;入

7、口: A DDPH,ADDPL(起始地址,N(数据个数;占用资源: A CC,B,R0,R1,R2,R3,R4,R5,R6,R7,NCNT ;堆栈需求: 5字节;出口: A DDPH,ADDPLFSORT: MOV A,NMOV NCNT,ADEC NCNTFST1 : MOV B,NCNT MOV DPL,ADDPL MOV R1,DPLMOV DPH,ADDPH MOV R0,DPH MOVX A,DPT R MOV R2,AINC DPTRMOVX A,DPT R MOV R3,AINC DPTRMOVX A,DPT R MOV R4,AFST2 : INC DPTR MOVX A,DP

8、T R MOV R5,AINC DPTRMOVX A,DPT R MOV R6,AINC DPTRMOVX A,DPT R MOV R7,APUSH BLCALL FCMPPOP BJNC FST4MOV A,DPLCLR CSUBB A,#02HMOV R1,AMOV R0,DPHJNC FST3DEC R0FST3 : MOV A,R5 MOV R2,AMOV A,R6MOV R3,AMOV A,R7MOV R4,AFST4 : DJNZ B,FST2 MOV A,DPLCLR CSUBB A,#02HMOV DPL,AJNC FST5DEC DPHFST5 : MOV A,R2 MOVX

9、 DPT R,A INC DPTRMOV A,R3MOVX DPT R,AINC DPTRMOV A,R4MOVX DPT R,AMOV A,R0MOV P2,AMOV A,R5MOVX R1,AINC R1MOV A,R6MOVX R1,AINC R1MOV A,R7MOVX R1,ADJNZ NCNT,FST1RET;BCD小数转换为二进制小数(2位 ;入口: R0(低位首址,R7;占用资源: A CC,B,R5;堆栈需求: 2字节;出口: R3,R4PDT B : CLR AMOV R3,APDB1 : MOV A,R3 MOV B,#9AH MUL ABMOV R5,BXCH A,R4

10、MOV B,#19H MUL ABADD A,R4MOV A,R5ADDC A,BMOV R5,AMOV A,R0 MOV B,#9AH MUL ABADD A,R5MOV R4,ACLR AADDC A,BXCH A,R3MOV B,#19H MUL ABADD A,R4MOV R4,AMOV A,BMOV R3,AMOV A,R0MOV B,#19HMUL ABADD A,R3MOV R3,ADEC R0DJNZ R7,PDB1RET;BCD小数转换为二进制小数(N位 ;入口: R1(低位首址,M,N;占用资源: A CC,B,R2,R3,R7;堆栈需求: 2字节;出口: R0PDT BM

11、N : MOV A,R0MOV R2,AMOV A,R1MOV R3,AMOV B,NCLR APDBMN1 : MOV R0,AINC R0DJNZ B,PDBMN1MOV A,NSWAP ARR AMOV R7,APDBMN2 : MOV A,R2 MOV R0,AMOV A,R3MOV R1,AMOV B,MCLR CPDBMN3 : MOV A,R1 ADDC A,R1DA AJNB ACC.4,PDBMN4 SETB CCLR ACC.4PDBMN4 : MOV R1,A INC R1DJNZ B,PDBMN3MOV B,NPDBMN5 : MOV A,R0 RLC AMOV R0,

12、AINC R0DJNZ B,PDBMN5DJNZ R7,PDBMN2MOV A,R2MOV R0,ARET;BCD整数转换为二进制整数(1位 ;入口: R0(高位地址,R7;占用资源: A CC,B;堆栈需求: 2字节;出口: R4IDTB1: CLR AMOV R4,AIDB11: MOV A,R4MOV B,#0AHMUL ABADD A,R0INC R0MOV R4,ADJNZ R7,IDB11RET;BCD整数转换为二进制整数(2位 ;入口: R0(高位地址,R7;占用资源: A CC,B;堆栈需求: 2字节;出口: R3,R4IDTB2: CLR AMOV R3,AMOV R4,AI

13、DB21: MOV A,R4MOV B,#0AHMUL ABMOV R4,AMOV A,BXCH A,R3MOV B,#0AHMUL ABADD A,R3MOV R3,AMOV A,R4ADD A,R0INC R0MOV R4,ACLR AADDC A,R3MOV R3,ADJNZ R7,IDB21RET;BCD整数转换为二进制整数(3位 ;入口: R0(高位地址,R7;占用资源: A CC,B;堆栈需求: 2字节;出口: R2,R3,R4 IDTB3: CLR A MOV R2,AMOV R3,AMOV R4,AIDB31: MOV A,R4 MOV B,#0AH MUL ABMOV R4,

14、AMOV A,BXCH A,R3MOV B,#0AH MUL ABADD A,R3MOV R3,ACLR AADDC A,BXCH A,R2MOV B,#0AH MUL ABADD A,R2MOV R2,AMOV A,R4ADD A,R0INC R0MOV R4,ACLR AADDC A,R3MOV R3,ACLR AADDC A,R2MOV R2,ADJNZ R7,IDB31RET;BCD整数转换为二进制整数(N位 ;入口: R1(高位地址,M,N;占用资源: A CC,B,R2,R7,NCNT,F0 ;堆栈需求: 2字节;出口: R0IDTBMN : MOV A,R0MOV R2,AMOV

15、 B,NCLR AIDBMN1 : MOV R0,AINC R0DJNZ B,IDBMN1MOV A,R2MOV R0,AMOV A,MMOV NCNT,AIDBMN2 : MOV R7,N CLR ACLR F0IDBMN3 : XCH A,R0 MOV B,#0AHMUL ABMOV C,F0ADDC A,R0MOV F0,CMOV R0,AINC R0MOV A,BDJNZ R7,IDBMN3 MOV A,R2MOV R0,AMOV A,R1INC R1ADD A,R0MOV R0,ADJNZ NCNT,IDBMN2 RET;二进制小数(2位转换为十进制小数(分离BCD码 ;入口: R3

16、,R4,R7;占用资源: A CC,B;堆栈需求: 3字节;出口: R0PBT D : MOV A,R7PUSH APBD1 : MOV A,R4MOV B,#0AHMUL ABMOV R4,AMOV A,BXCH A,R3MOV B,#0AHMUL ABADD A,R3MOV R3,ACLR AADDC A,BMOV R0,AINC R0DJNZ R7,PBD1POP AMOV R7,AMOV A,R0CLR CSUBB A,R7MOV R0,ARET;二进制小数(M位转换为十进制小数(分离BCD码 ;入口: R1,M,N;占用资源: A CC,B,R2,R3,R7,NCNT;堆栈需求: 2

17、字节;出口: R0PBT DMN : MOV A,R0MOV R2,AMOV A,R1MOV R3,AMOV A,NMOV NCNT,APBDMN1 : MOV R7,MCLR ACLR F0PBDMN2 : XCH A,R1MOV B,#0AHMUL ABMOV C,F0ADDC A,R1MOV F0,CMOV R1,AINC R1MOV A,BDJNZ R7,PBDMN2ADDC A,#00HMOV R0,AINC R0MOV A,R3MOV R1,ADJNZ NCNT,PBDMN1MOV A,R2MOV R0,ARET;二进制整数(2位转换为十进制整数(分离BCD码 ;入口: R3,R4

18、;占用资源: A CC,R2,NDIV31;堆栈需求: 5字节;出口: R0,NCNTIBTD21 : MOV NCNT,#00HMOV R2,#00HIBD211 : MOV R7,#0AHLCALL NDIV31MOV A,R7MOV R0,AINC R0INC NCNTMOV A,R3ORL A,R4JNZ IBD211MOV A,R0CLR CSUBB A,NCNTMOV R0,ARET;二进制整数(2位转换为十进制整数(组合BCD码 ;入口: R3,R4;占用资源: A CC,B,R7;堆栈需求: 3字节;出口: R0IBTD22 : MOV A,R0PUSH AMOV R7,#03

19、HCLR AIBD221 : MOV R0,AINC R0DJNZ R7,IBD221POP AMOV R0,AMOV R7,#10HIBD222 : PUSH ACLR CMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AMOV B,#03HIBD223 : MOV A,R0ADDC A,R0DA AMOV R0,AINC R0DJNZ B,IBD223POP AMOV R0,ADJNZ R7,IBD222RET;二进制整数(3位转换为十进制整数(分离BCD码 ;入口: R2,R3,R4;占用资源: A CC,R2,NDIV31;堆栈需求: 5字节;出口:

20、R0,NCNTIBTD31 : CLR AMOV NCNT,AIBD311 : MOV R7,#0AHLCALL NDIV31MOV A,R7MOV R0,AINC R0INC NCNTMOV A,R2ORL A,R3ORL A,R4JNZ IBD311MOV A,R0CLR CSUBB A,NCNTMOV R0,ARET;二进制整数(3位转换为十进制整数(组合BCD码 ;入口: R2,R3,R4;占用资源: A CC,B,R7;堆栈需求: 3字节;出口: R0IBTD32 : MOV A,R0PUSH AMOV R7,#04HCLR AIBD321 : MOV R0,A INC R0DJNZ

21、 R7,IBD321 POP AMOV R0,AMOV R7,#18HIBD322 : PUSH A CLR CMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,AMOV B,#04HIBD323 : MOV A,R0 ADDC A,R0DA AMOV R0,AINC R0 DJNZ B,IBD323 POP A MOV R0,A DJNZ R7,IBD322 RET ;二进制整数(M 位转换为十进制整数(组合 BCD 码 ;入口: R1,M,N ;占用资源: ACC,B,R2,R3,R7 ;堆栈需求: 2 字节 ;出口

22、: R0 IBTDMN : MOV A,R0 MOV R2,A MOV A,R1 MOV R3,A MOV B,N CLR A IBDMN1 : MOV R0,A INC R0 DJNZ B,IBDMN1 MOV A,M SWAP A RR A CLR C MOV R7,A IBDMN2 : MOV A,R2 MOV R0,A MOV A,R3 MOV R1,A MOV B,M IBDMN3 : MOV A,R1 RLC A MOV R1,A INC R1 DJNZ B,IBDMN3 MOV B,N IBDMN4 : MOV A,R0 ADDC A,R0 DA A JNB ACC.4,IBDM

23、N5 SETB C CLR ACC.4 IBDMN5 : MOV R0,A INC R0 DJNZ B,IBDMN4 DJNZ R7,IBDMN2 MOV A,R2 MOV R0,A RET ;三字节无符号除法程序(R2R3R4/R7=(R2R3R4 余数 R7 ;入口: R2,R3,R4,R7 ;占用资源: ACC,B,F0 ;堆栈需求: 3 字节 ;出口: (R2,R3,R4,R7,OV NDIV31 : MOV A,R2 MOV B,R7 DIV AB PUSH A MOV R2,B MOV B,#10H NDV311 : CLR C MOV A,R4 RLC A MOV R4,A MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV F0,C CLR C SUBB A,R7 JB F0,NDV312 JC NDV313 NDV312 : MOV R2,A INC R4 NDV313 : DJNZ B,NDV311 POP A CLR OV JZ NDV314 SETB OV NDV314 : XCH A,R2 MOV R7,A RET

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1