单片机汇编程序实例序

单片机汇编语言指令教程_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
单片机汇编语言指令教程
上传于||文档简介
&&计​算​机​资​料
大小:539.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢51单片机汇编程序库
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
51单片机汇编程序库
下面是一些51单片机汇编语言编程常用到的子程序代码库,点击即可跳到您所需要的汇编程序位置,如要补充请联系我
1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23、24、25、26、27、28、29、30、31、32、33、34、35、36、37、38、39、40、42、43、
;片内RAM初始化子程序IBCLR&&& :MOV&&& A,R0&&&&&&&&& MOV&&& R1,A&&&&&&&&& CLR&&& AIBC1&&&& :MOV&&& @R1,A&&&&&&&&& INC&&& R1&&&&&&&&& DJNZ&& R7,IBC1&&&&&&&&& RET;片外RAM初始化子程序EBCLR1&& :MOV&&& A,ADDPL&&&&&&&&& MOV&&& DPL,A&&&&&&&&& MOV&&& A,ADDPH&&&&&&&&& MOV&&& DPH,A&&&&&&&&& CLR&&& CEBC11&&& :MOVX&& @DPTR,A&&&&&&&&& INC&&& DPTR&&&&&&&&& DJNZ&& R7,EBC11&&&&&&&&& RET;片外RAM初始化子程序(双字节个单元)EBCLR2&& :MOV&&& A,ADDPL&&&&&&&&& MOV&&& DPL,A&&&&&&&&& MOV&&& A,ADDPH&&&&&&&&& MOV&&& DPH,A&&&&&&&&& MOV&&& A,R7&&&&&&&&& JZ&&&& EBC21&&&&&&&&& INC&&& R6EBC21&&& :CLR&&& A&&&&&&&&& MOVX&& @DPTR,A&&&&&&&&& INC&&& DPTR&&&&&&&&& DJNZ&& R7,EBC21&&&&&&&&& DJNZ&& R6,EBC21&&&&&&&&& RET
;内部RAM数据复制程序;入口&&& :R0,R7;占用资源:A;堆栈需求:2字节;出口&&& :R1IBMOV&&& :MOV&&& A,R0&&&&&&&&& ADD&&& A,R7&&&&&&&&& MOV&&& R0,A&&&&&&&&& MOV&&& A,R1&&&&&&&&& ADD&&& A,R7&&&&&&&&& MOV&&& R1,AIBM1&&&& :DEC&&& R0&&&&&&&&& DEC&&& R1&&&&&&&&& MOV&&& A,@R0&&&&&&&&& MOV&&& @R1,A&&&&&&&&& DJNZ&& R7,IBM1&&&&&&&&& RET;外部RAM数据复制程序;入口&&& :ADDPH,ADDPL,R7;占用资源:ACC;堆栈需求:2字节;出口&&& :R0,R1EBMOV1&& :MOV&&& A,ADDPL&&&&&&&&& ADD&&& A,R7&&&&&&&&& MOV&&& DPL,A&&&&&&&&& CLR&&& A&&&&&&&&& ADDC&& A,ADDPH&&&&&&&&& MOV&&& DPH,A&&&&&&&&& MOV&&& A,R7&&&&&&&&& ADD&&& A,R1&&&&&&&&& XCH&&& A,R0&&&&&&&&& ADDC&& A,#00H&&&&&&&&& MOV&&& P2,AEBM11&&& :DEC&&& R0&&&&&&&&& CJNE&& R0,#0FFH,EBM12&&&&&&&&& DEC&&& P2EBM12&&& :DEC&&& DPL&&&&&&&&& MOV&&& A,DPL&&&&&&&&& CJNE&& A,#0FFH,EBM13&&&&&&&&& DEC&&& DPHEBM13&&& :MOVX&& A,@R0&&&&&&&&& MOVX&& @DPTR,A&&&&&&&&& DJNZ&& R7,EBM11&&&&&&&&& RET;外部RAM数据复制程序;入口&&& :ADDPH,ADDPL,R6,R7;占用资源:ACC;堆栈需求:2字节;出口&&& :R0,R1EBMOV2&& :MOV&&& A,ADDPL&&&&&&&&& ADD&&& A,R7&&&&&&&&& MOV&&& DPL,A&&&&&&&&& MOV&&& A,R6&&&&&&&&& ADDC&& A,ADDPH&&&&&&&&& MOV&&& DPH,A&&&&&&&&& MOV&&& A,R7&&&&&&&&& ADD&&& A,R1&&&&&&&&& XCH&&& A,R0&&&&&&&&& ADDC&& A,R6&&&&&&&&& MOV&&& P2,A&&&&&&&&& MOV&&& A,R7&&&&&&&&& JZ&&&& EBM21&&&&&&&&& INC&&& R6EBM21&&& :DEC&&& R0&&&&&&&&& CJNE&& R0,#0FFH,EBM22&&&&&&&&& DEC&&& P2EBM22&&& :DEC&&& DPL&&&&&&&&& MOV&&& A,DPL&&&&&&&&& CJNE&& A,#0FFH,EBM23&&&&&&&&& DEC&&& DPHEBM23&&& :MOVX&& A,@R0&&&&&&&&& MOVX&& @DPTR,A&&&&&&&&& DJNZ&& R7,EBM21&&&&&&&&& DJNZ&& R6,EBM21&&&&&&&&& RET;外部RAM数据复制到内部RAM程序;入口&&& :ADDPH,ADDPL,R7;占用资源:ACC;堆栈需求:2字节;出口&&& :R0ITEMOV& :MOV&&& A,ADDPL&&&&&&&& ADD&&& A,R7&&&&&&&& MOV&&& DPL,A&&&&&&&& MOV&&& A,ADDPH&&&&&&&& ADDC&& A,#00H&&&&&&&& MOV&&& DPH,A&&&&&&&& MOV&&& A,R0&&&&&&&& ADD&&& A,R7&&&&&&&& MOV&&& R0,AITEM1&& :DEC&&& R0&&&&&&&& DEC&&& DPL&&&&&&&& MOV&&& A,DPL&&&&&&&& CJNE&& A,#0FFH,ITEM2&&&&&&&& DEC&&& DPHITEM2&& :MOVX&& A,@DPTR&&&&&&&& MOV&&& @R0,A&&&&&&&& DJNZ&& R7,ITEM1&&&&&&&& RET&;限幅滤波程序;入口&&& :A,SDAT,DELTY;占用资源:B;堆栈需求:2字节;出口&&& :AJUGFILT& :MOV&&& B,A&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,SDAT&&&&&&&&& JNC&&& JUGFT1&&&&&&&&& CPL&&& A&&&&&&&&& INC&&& AJUGFT1&& :SETB&& A&&&&&&&&& SUBB&& A,#DELTY&&&&&&&&& JNC&&& JUGFT3&&&&&&&&& MOV&&& A,SDAT&&&&&&&&& RETJUGFT3&& :MOV&&& A,B&&&&&&&&& MOV&&& SDAT,A&&& &&&&&&&&& RET;中位值滤波程序;入口&&& :ADDPH,ADDPL,N;占用资源:ESELSORT;堆栈需求:4字节;出口&&& :AMEDFILT& :LCALL& ESELSORT&&&&&&&&& MOV&&& A,N&&&&&&&&& CLR&&& C&&&&&&&&& RRC&&& A&&&&&&&&& ADD&&& A,ADDPL&&&&&&&&& MOV&&& DPL,A&&&&&&&&& MOV&&& A,ADDPH&&&&&&&&& MOV&&& DPH,A&&&&&&&&& JNC&&& MEDFT1&&&&&&&&& INC&&& DPHMEDFT1&& :MOVX&& A,@DPTR&&&&&&&&& RET;N点算术平均滤波;入口&&& :ADDPH,ADDPL,N;占用资源:B,R3,R4;堆栈需求:2字节;出口&&& :AAVFILT&& :MOV&&& A,ADDPL&&&&&&&&& MOV&&& DPL,A&&&&&&&&& MOV&&& A,ADDPH&&&&&&&&& MOV&&& DPH,A&&&&&&&&& CLR&&& A&&&&&&&&& MOV&&& R3,A&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& R7,NAVFT1&&& :MOVX&& A,@DPTR&&&&&&&&& INC&&& DPTR&&&&&&&&& ADD&&& A,R4&&&&&&&&& MOV&&& R4,A&&&&&&&&& JNC&&& AVFT2&&&&&&&&& INC&&& R3AVFT2&&& :DJNZ&& R7,AVFT1&&&&&&&&& MOV&&& R7,N&&&&&&&&& MOV&&& R2,#00H&&&&&&&&& LCALL& NDIV31&&&&&&&&& MOV&&& A,R4&&&&&&&&& RET;N点加权平均滤波;入口&&& :ADDPH,ADDPL,N;占用资源:B,R3,R4;堆栈需求:2字节;出口&&& :AQAVFILT& :CLR&&& A&&&&&&&&& MOV&&& R3,A&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& R7,N&&&&&&&&& MOV&&& P2,ADDPH&&&&&&&&& MOV&&& R1,ADDPL&&&&&&&&& MOV&&& DPTR,#QAVTABQAVFT1&& :MOVC&& A,@A+DPTR&&&&&&&&& MOV&&& B,A&&&&&&&&& MOVX&& A,@R1&&&&&&&&& INC&&& DPTR&&&&&&&&& INC&&& R1&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R4&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& A,B&&&&&&&&& ADDC&& A,R3&&&&&&&&& MOV&&& R3,A&&&&&&&&& DJNZ&& R7,QAVFT1&&&&&&&&& MOV&&& A,R4&&&&&&&&& JNB&&& ACC.7,QAVFT2&&&&&&&&& INC&&& R3QAVFT2&& :MOV&&& A,R3&&&&&&&&& RETQAVTAB&& :DB;一阶加权滞后滤波程序;入口&&& :A,DELTY;占用资源:B,R3,R4;堆栈需求:2字节;出口&&& :ABQFILT&& :MOV&&& B,A&&&&&&&&& CLR&&& A&&&&&&&&& MOV&&& DPTR,#ABTAB&&&&&&&&& MOVC&& A,@A+DPTR&&&&&&&&& MUL&&& AB&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& R3,B&&&&&&&&& MOV&&& A,#01H&&&&&&&&& MOVC&& A,@A+DPTR&&&&&&&&& MOV&&& B,DELTY&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R4&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& A,B&&&&&&&&& ADDC&& A,R3&&&&&&&&& MOV&&& R3,A&&&&&&&&& MOV&&& A,R4&&&&&&&&& JNB&&& ACC.7,FT1&&&&&&&&& INC&&& R3FT1&&&&& :MOV&&& A,R3&&&&&&&&& MOV&&& DELTY,A&&&&&&&&& RETBQTAB&&& :DB&&&& 80H,80H&;双字节取补程序 /(R3R4)=(R3R4);入口&&& :R3,R4;占用资源:ACC;堆栈需求:2字节;出口&&& :R3,R4CMPT&&&& :MOV&&& A,R4&&&&&&&&& CPL&&& A&&&&&&&&& ADD&&& A,#01H&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& A,R3&&&&&&&&& CPL&&& A&&&&&&&&& ADDC&& A,#00H&&&&&&&&& MOV&&& R3,A&&&&&&&&& RET;N节取补程序 /([R0])=([R0]);入口&&& :R0,R7;占用资源:ACC,B;堆栈需求:2字节;出口&&& :R0NCMPTN&& :MOV&&& B,R0&&&&&&&&& SETB&& CNCPT1&&& :MOV&&& A,@R0&&&&&&&&& CPL&&& A&&&&&&&&& ADDC&& A,#00H&&&&&&&&& MOV&&& @R0,A&&&&&&&&& INC&&& R0&&&&&&&&& DJNZ&& R7,NCPT1&&&&&&&&& MOV&&& R0,B&&&&&&&&& RET;双字节无符号数加法程序 (R3R4+R6R7)=(R3R4);入口&&& :R3,R4,R6,R7;占用资源:ACC;堆栈需求:2字节;出口&&& :R3,R4,CFNADD&&&& :MOV&&& A,R4&&&&&&&&& ADD&&& A,R7&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& A,R3&&&&&&&&& ADDC&& A,R6&&&&&&&&& MOV&&& R3,A&&&&&&&&& RET
;N字节无符号数加法程序 ([R0]+[R1])=([R0]);入口&&& :R0,R1,R7;占用资源:ACC,B;堆栈需求:2字节;出口&&& :R0,CFNADDN&&& :MOV&&& B,R0&&&&&&&&& CLR&&& CNADN1&&& :MOV&&& A,@R0&&&&&&&&& ADDC&& A,@R1&&&&&&&&& MOV&&& @R0,A&&&&&&&&& INC&&& R0&&&&&&&&& INC&&& R1&&&&&&&&& DJNZ&& R7,NADN1&&&&&&&&& MOV&&& R0,B&&&&&&&&& RET;双字节无符号数减法程序 (R3R4-R6R7)=(R3R4);入口&&& :R3,R4,R6,R7;占用资源:ACC;堆栈需求:2字节;出口&&& :R3,R4NSUB&&&& :MOV&&& A,R4&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,R7&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& A,R3&&&&&&&&& SUBB&& A,R6&&&&&&&&& MOV&&& R3,A&&&&&&&&& RET;N字节无符号数减法程序 ([R0]-[R1])=([R0]);入口&&& :R0,R1,R7;占用资源:ACC,B;堆栈需求:2字节;出口&&& :R0,CFNSUBN&&& :MOV&&& B,R0&&&&&&&&& MOV&&& R7,N&&&&&&&&& CLR&&& CNSUBN1&& :MOV&&& A,@R0&&&&&&&&& SUBB&& A,@R1&&&&&&&&& MOV&&& @R0,A&&&&&&&&& INC&&& R0&&&&&&&&& INC&&& R1&&&&&&&&& DJNZ&& R7,NSUBN1&&&&&&&&& MOV&&& R0,B&&&&&&&&& RET;单字节无符号数乘法程序 (R3R4*R7)=(R2R3R4);入口&&& :R3,R4,R7;占用资源:ACC,B;堆栈需求:2字节;出口&&& :R2,R3,R4NMUL21&& :MOV&&& A,R4&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& A,B&&&&&&&&& XCH&&& A,R3&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R3&&&&&&&&& MOV&&& R3,A&&&&&&&&& CLR&&& A&&&&&&&&& ADDC&& A,B&&&&&&&&& MOV&&& R2,A&&&&&&&&& CLR&&& OV&&&&&&&&& RET;单字节无符号数乘法程序 (R2R3R4*R7)=(R5R2R3R4);入口&&& :R2,R3,R4,R6,R7;占用资源:ACC,B;堆栈需求:2字节;出口&&& :R5,R2,R3,R4NMUL31&& :MOV&&& A,R4&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& A,B&&&&&&&&& XCH&&& A,R3&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R3&&&&&&&&& MOV&&& R3,A&&&&&&&&& CLR&&& A&&&&&&&&& ADDC&& A,B&&&&&&&&& XCH&&& A,R2&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R2&&&&&&&&& MOV&&& R2,A&&&&&&&&& CLR&&& A&&&&&&&&& ADDC&& A,B&&&&&&&&& MOV&&& R5,A&&&&&&&&& CLR&&& OV&&&&&&&&& RET;单字节无符号数乘法程序 (R5R2R3R4*R7)=(R7R5R2R3R4);入口&&& :R5,R2,R3,R4,R7;占用资源:ACC,B;堆栈需求:2字节;出口&&& :R7,R5,R2,R3,R4NMUL41&& :MOV&&& A,R4&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& A,B&&&&&&&&& XCH&&& A,R3&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R3&&&&&&&&& MOV&&& R3,A&&&&&&&&& CLR&&& A&&&&&&&&& ADDC&& A,B&&&&&&&&& XCH&&& A,R2&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R2&&&&&&&&& MOV&&& R2,A&&&&&&&&& CLR&&& A&&&&&&&&& ADDC&& A,B&&&&&&&&& XCH&&& A,R5&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R5&&&&&&&&& MOV&&& R5,A&&&&&&&&& CLR&&& A&&&&&&&&& ADDC&& A,B&&&&&&&&& MOV&&& R7,A&&&&&&&&& CLR&&& OV&&&&&&&&& RET;双字节无符号数乘法程序 (R3R4*R6R7)=(R5R2R3R4);入口&&& :R3,R4,R6,R7;占用资源:ACC,B;堆栈需求:2字节;出口&&& :R5,R2,R3,R4NMUL22&& :MOV&&& A,R4&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& XCH&&& A,R4&&&&&&&&& MOV&&& R5,B&&&&&&&&& MOV&&& B,R6&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R5&&&&&&&&& MOV&&& R5,A&&&&&&&&& CLR&&& A&&&&&&&&& ADDC&& A,B&&&&&&&&& MOV&&& R2,A&&&&&&&&& MOV&&& A,R3&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R5&&&&&&&&& MOV&&& R5,A&&&&&&&&& MOV&&& A,B&&&&&&&&& ADDC&& A,R2&&&&&&&&& MOV&&& R2,A&&&&&&&&& CLR&&& A&&&&&&&&& ADDC&& A,#00H&&&&&&&&& XCH&&& A,R3&&&&&&&&& MOV&&& B,R6&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R2&&&&&&&&& MOV&&& R2,A&&&&&&&&& MOV&&& A,B&&&&&&&&& ADDC&& A,R3&&&&&&&&& XCH&&& A,R5&&&&&&&&& MOV&&& R3,A&&&&&&&&& CLR&&& OV&&&&&&&&& RET;双字节无符号数乘法程序 (R2R3R4*R6R7)=(R1R5R2R3R4);入口&&& :R2,R3,R4,R6,R7;占用资源:ACC,B;堆栈需求:2字节;出口&&& :R1,R5,R2,R3,R4NMUL32&& :MOV&&& A,R4&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& XCH&&& A,R4&&&&&&&&& MOV&&& R5,B&&&&&&&&& MOV&&& B,R6&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R5&&&&&&&&& MOV&&& R5,A&&&&&&&&& CLR&&& A&&&&&&&&& ADDC&& A,B&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& A,R3&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R5&&&&&&&&& MOV&&& R5,A&&&&&&&&& MOV&&& A,B&&&&&&&&& ADDC&& A,R1&&&&&&&&& MOV&&& R1,A&&&&&&&&& CLR&&& A&&&&&&&&& ADDC&& A,#00H&&&&&&&&& XCH&&& A,R3&&&&&&&&& MOV&&& B,R6&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R1&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& A,B&&&&&&&&& ADDC&& A,R3&&&&&&&&& XCH&&& A,R5&&&&&&&&& MOV&&& R3,A&&&&&&&&& MOV&&& A,R2&&&&&&&&& MOV&&& B,R7&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R1&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& A,B&&&&&&&&& ADDC&& A,R5&&&&&&&&& MOV&&& R5,A&&&&&&&&& CLR&&& A&&&&&&&&& ADDC&& A,#00H&&&&&&&&& XCH&&& A,R2&&&&&&&&& MOV&&& B,R6&&&&&&&&& MUL&&& AB&&&&&&&&& ADD&&& A,R5&&&&&&&&& MOV&&& R5,A&&&&&&&&& MOV&&& A,B&&&&&&&&& ADDC&& A,R2&&&&&&&&& XCH&&& A,R1&&&&&&&&& MOV&&& R2,A&&&&&&&&& CLR&&& OV&&&&&&&&& RET;N字节无符号数乘法程序 ([R0]*[R1])=([R0]);入口&&& :R0,R1,M,N;占用资源:ACC,B,R2,R5,R6,R7,NCNT;堆栈需求:2字节;出口&&& :R0NMULMN&& :MOV&&& A,M&&&&&&&&& ADD&&& A,R0&&&&&&&&& MOV&&& R5,A&&&&&&&&& XCH&&& A,R1&&&&&&&&& XCH&&& A,R5&&&&&&&&& ADD&&& A,N&&&&&&&&& XCH&&& A,R0&&&&&&&&& MOV&&& R6,A&&&&&&&&& MOV&&& B,M&&&&&&&&& MOV&&& NCNT,BNMLMN1&& :DEC&&& R0&&&&&&&&& DEC&&& R1&&&&&&&&& CLR&&& A&&&&&&&&& XCH&&& A,@R1&&&&&&&&& MOV&&& @R0,A&&&&&&&&& DJNZ&& NCNT,NMLMN1&&&&&&&&& MOV&&& NCNT,BNMLMN2&& :CLR&&& A&&&&&&&&& XCH&&& A,@R0&&&&&&&&& MOV&&& R2,A&&&&&&&&& MOV&&& A,R6&&&&&&&&& MOV&&& R0,A&&&&&&&&& MOV&&& A,R5&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& R7,N&&&&&&&&& CLR&&& CNMLMN3&& :MOV&&& A,R2&&&&&&&&& MOV&&& B,@R1&&&&&&&&& INC&&& R1&&&&&&&&& MUL&&& AB&&&&&&&&& ADDC&& A,@R0&&&&&&&&& MOV&&& @R0,A&&&&&&&&& INC&&& R0&&&&&&&&& MOV&&& A,B&&&&&&&&& ADDC&& A,@R0&&&&&&&&& MOV&&& @R0,A&&&&&&&&& DJNZ&& R7,NMLMN3&&&&&&&&& INC&&& R0&&&&&&&&& INC&&& R6&&&&&&&&& DJNZ&& NCNT,NMLMN2&&&&&&&&& MOV&&& A,R0&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,M&&&&&&&&& SUBB&& A,N&&&&&&&&& MOV&&& R0,A&&&&&&&&& RET;单字节无符号除法程序 (R2R3R4/R7)=(R2)R3R4 余数R7;入口&&& :R2,R3,R4,R7;占用资源:ACC,B,F0;堆栈需求:3字节;出口&&& :(R2),R3,R4,R7,OVNDIV31&& :MOV&&& A,R2&&&&&&&&& MOV&&& B,R7&&&&&&&&& DIV&&& AB&&&&&&&&& PUSH&& A&&&&&&&&& MOV&&& R2,B&&&&&&&&& MOV&&& B,#10HNDV311&& :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&&&& NDV313NDV312&& :MOV&&& R2,A&&&&&&&&& INC&&& R4NDV313&& :DJNZ&& B,NDV311&&&&&&&&& POP&&& A&&&&&&&&& CLR&&& OV&&&&&&&&& JZ&&&& NDV314&&&&&&&&& SETB&& OVNDV314&& :XCH&&& A,R2&&&&&&&&& MOV&&& R7,A&&&&&&&&& RET;单字节无符号除法程序 (R5R2R3R4/R7)=(R5)R2R3R4 余数R7;入口&&& :R2,R3,R4,R7;占用资源:ACC,B,F0;堆栈需求:3字节;出口&&& :(R5),R2,R3,R4,R7,OVNDIV41&& :MOV&&& A,R5&&&&&&&&& MOV&&& B,R7&&&&&&&&& DIV&&& AB&&&&&&&&& PUSH&& A&&&&&&&&& MOV&&& R5,B&&&&&&&&& MOV&&& B,#18HNDV411&& :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&&& A,R5&&&&&&&&& RLC&&& A&&&&&&&&& MOV&&& R5,A&&&&&&&&& MOV&&& F0,C&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,R7&&&&&&&&& JB&&&& F0,NDV412&&&&&&&&& JC&&&& NDV413NDV412&& :MOV&&& R5,A&&&&&&&&& INC&&& R4NDV413&& :DJNZ&& B,NDV411&&&&&&&&& POP&&& A&&&&&&&&& CLR&&& OV&&&&&&&&& JZ&&&& NDV414&&&&&&&&& SETB&& OVNDV414&& :XCH&&& A,R5&&&&&&&&& MOV&&& R7,A&&&&&&&&& RET;双字节无符号除法程序 (R5R2R3R4/R6R7)=(R2)R3R4 余数R6R7;入口&&& :R5,R2,R3,R4,R6,R7;占用资源:ACC,B,F0;堆栈需求:4字节;出口&&& :(R2),R3,R4,R6,R7,OVNDIV42&& :MOV&&& A,R1&&&&&&&&& PUSH&& A&&&&&&&&& MOV&&& B,#00HNDV421&& :MOV&&& A,R2&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,R7&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& A,R5&&&&&&&&& SUBB&& A,R6&&&&&&&&& JC&&&& NDV422&&&&&&&&& MOV&&& R5,A&&&&&&&&& MOV&&& A,R1&&&&&&&&& MOV&&& R2,A&&&&&&&&& INC&&& B&&&&&&&&& SJMP&& NDV421NDV422&& :PUSH&& B&&&&&&&&& MOV&&& B,#10HNDV423&& :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&&&&&&&&& XCH&&& A,R5&&&&&&&&& RLC&&& A&&&&&&&&& XCH&&& A,R5&&&&&&&&& MOV&&& F0,C&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,R7&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& A,R5&&&&&&&&& SUBB&& A,R6&&&&&&&&& JB&&&& F0,NCV424&&&&&&&&& JC&&&& NDV425NCV424&& :MOV&&& R5,A&&&&&&&&& MOV&&& A,R1&&&&&&&&& MOV&&& R2,A&&&&&&&&& INC&&& R4NDV425&& :DJNZ&& B,NDV423&&&&&&&&& POP&&& A&&&&&&&&& CLR&&& OV&&&&&&&&& JNZ&&& NDV426&&&&&&&&& SETB&& OVNDV426&& :XCH&&& A,R2&&&&&&&&& MOV&&& R7,A&&&&&&&&& MOV&&& A,R5&&&&&&&&& MOV&&& R6,A&&&&&&&&& POP&&& A&&&&&&&&& MOV&&& R1,A&&&&&&&&& RET;N字节无符号除法程序(组合) ([R0]/[R1])=([R0]);入口&&& :R0,R1,M,N;占用资源:ACC,R2,R3,R4,R5,R7,NCNT,F0,NADDN,NSUBBN,NRLCN;堆栈需求:4字节;出口&&& :R0;NDIVMN&& :MOV&&& A,M&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,N&&&&&&&&& MOV&&& NCNT,A&&&&&&&&& ADD&&& A,R0&&&&&&&&& MOV&&& R4,A&&&&&&&&& XCH&&& A,R0&&&&&&&&& MOV&&& R3,A&&&&&&&&& MOV&&& A,R1&&&&&&&&& MOV&&& R5,A&&&&&&&&& MOV&&& R2,#00HNDVMN1&& :MOV&&& R7,N&&&&&&&&& LCALL& NSUBN&&&&&&&&& MOV&&& A,R5&&&&&&&&& MOV&&& R1,A&&&&&&&&& JC&&&& NDVMN2&&&&&&&&& INC&&& R2&&&&&&&&& SJMP&& NDVMN1NDVMN2&& :MOV&&& R7,N&&&&&&&&& LCALL& NADDN&&&&&&&&& MOV&&& A,NCNT&&&&&&&&& SWAP&& A&&&&&&&&& RR&&&& A&&&&&&&&& MOV&&& NCNT,ANDVMN3&& :MOV&&& A,R3&&&&&&&&& MOV&&& R0,A&&&&&&&&& MOV&&& R7,M&&&&&&&&& LCALL& NRLCN&&&&&&&&& MOV&&& F0,C&&&&&&&&& MOV&&& A,R4&&&&&&&&& MOV&&& R0,A&&&&&&&&& MOV&&& A,R5&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& R7,N&&&&&&&&& LCALL& NSUBN&&&&&&&&& JB&&&& F0,NDVMN4&&&&&&&&& JC&&&& NDVMN5NDVMN4&& :MOV&&& A,R3&&&&&&&&& MOV&&& R0,A&&&&&&&&& INC&&& @R0&&&&&&&&& SJMP&& NDVMN6NDVMN5&& :MOV&&& A,R5&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& R7,N&&&&&&&&& LCALL& NADDNNDVMN6&& :DJNZ&& NCNT,NDVMN3&&&&&&&&& MOV&&& A,R4&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& A,R2&&&&&&&&& MOV&&& @R1,A&&&&&&&&& MOV&&& A,R3&&&&&&&&& MOV&&& R0,A&&&&&&&&& RET;N字节无符号除法程序(集成) ([R0]/R[1])=([R0]);入口&&& :R0,R1,M,N;占用资源:ACC,R2,R3,R4,R5,R7,F0;堆栈需求:2字节;出口&&& :R0NDIVMN&& :MOV&&& A,M&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,N&&&&&&&&& MOV&&& B,A&&&&&&&&& ADD&&& A,R0&&&&&&&&& MOV&&& R4,A&&&&&&&&& XCH&&& A,R0&&&&&&&&& MOV&&& R3,A&&&&&&&&& MOV&&& A,R1&&&&&&&&& MOV&&& R5,A&&&&&&&&& MOV&&& R2,#00HNDVMN1&& :MOV&&& R7,N&&&&&&&&& CLR&&& CNDVMN2&& :MOV&&& A,@R0&&&&&&&&& SUBB&& A,@R1&&&&&&&&& MOV&&& @R0,A&&&&&&&&& INC&&& R0&&&&&&&&& INC&&& R1&&&&&&&&& DJNZ&& R7,NDVMN2&&&&&&&&& MOV&&& A,R4&&&&&&&&& MOV&&& R0,A&&&&&&&&& MOV&&& A,R5&&&&&&&&& MOV&&& R1,A&&&&&&&&& JC&&&& NDVMN3&&&&&&&&& INC&&& R2&&&&&&&&& SJMP&& NDVMN1NDVMN3&& :MOV&&& R7,N&&&&&&&&& CLR&&& CNDVMN4&& :MOV&&& A,@R0&&&&&&&&& ADDC&& A,@R1&&&&&&&&& MOV&&& @R0,A&&&&&&&&& INC&&& R0&&&&&&&&& INC&&& R1&&&&&&&&& DJNZ&& R7,NDVMN4&&&&&&&&& MOV&&& A,#08H&&&&&&&&& MUL&&& AB&&&&&&&&& MOV&&& B,ANDVMN5&& :MOV&&& A,R3&&&&&&&&& MOV&&& R0,A&&&&&&&&& MOV&&& R7,M&&&&&&&&& CLR&&& CNDVMN6&& :MOV&&& A,@R0&&&&&&&&& RLC&&& A&&&&&&&&& MOV&&& @R0,A&&&&&&&&& INC&&& R0&&&&&&&&& DJNZ&& R7,NDVMN6&&&&&&&&& MOV&&& F0,C&&&&&&&&& MOV&&& A,R4&&&&&&&&& MOV&&& R0,A&&&&&&&&& MOV&&& A,R5&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& R7,N&&&&&&&&& CLR&&& CNDVMN7&& :MOV&&& A,@R0&&&&&&&&& SUBB&& A,@R1&&&&&&&&& MOV&&& @R0,A&&&&&&&&& INC&&& R0&&&&&&&&& INC&&& R1&&&&&&&&& DJNZ&& R7,NDVMN7&&&&&&&&& JB&&&& F0,NDVMNB&&&&&&&&& JC&&&& NDVMN8NDVMNB&& :MOV&&& A,R3&&&&&&&&& MOV&&& R0,A&&&&&&&&& INC&&& @R0&&&&&&&&& SJMP&& NDVMNANDVMN8&& :MOV&&& R7,N&&&&&&&&& MOV&&& A,R4&&&&&&&&& MOV&&& R0,A&&&&&&&&& MOV&&& A,R5&&&&&&&&& MOV&&& R1,A&&&&&&&&& CLR&&& CNDVMN9&& :MOV&&& A,@R0&&&&&&&&& ADDC&& A,@R1&&&&&&&&& MOV&&& @R0,A&&&&&&&&& INC&&& R0&&&&&&&&& INC&&& R1&&&&&&&&& DJNZ&& R7,NDVMN9NDVMNA&& :DJNZ&& B,NDVMN5&&&&&&&&& MOV&&& A,M&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,N&&&&&&&&& ADD&&& A,R3&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& A,R2&&&&&&&&& MOV&&& @R1,A&&&&&&&&& MOV&&& A,R3&&&&&&&&& MOV&&& R0,A&&&&&&&&& RET;N字节数据左移程序 RLC([R0])=(CF[R0]);入口&&& :R0,R7;占用资源:ACC,B;堆栈需求:2字节;出口&&& :R0,CFNRLCN&&& :MOV&&& B,R0&&&&&&&&& CLR&&& CNRLN1&&& :MOV&&& A,@R0&&&&&&&&& RLC&&& A&&&&&&&&& MOV&&& @R0,A&&&&&&&&& INC&&& R0&&&&&&&&& DJNZ&& R7,NRLN1&&&&&&&&& MOV&&& R0,B&&&&&&&&& RET;原码有符号双字节减法程序 (R3R4-R6R7)=R3R4;入口&&& :R3,R4,R6,R7;占用资源:ACC,DADD;堆栈需求:6字节;出口&&& :R3,R4,OVDSUB&&&& :MOV&&& A,R6&&&&&&&&& CPL&&& ACC.7&&&&&&&&& MOV&&& R6,A&&&&&&&&& LCALL& DADD&&&&&&&&& RET;原码有符号双字节加法程序 (R3R4+R6R7)=R3R4;入口&&& :R3,R4,R6,R7;占用资源:ACC,SR0,NADD,NSUB,CMPT;堆栈需求:4字节;出口&&& :R3,R4,OVDADD&&&& :MOV&&& A,R3&&&&&&&&& MOV&&& C,ACC.7&&&&&&&&& MOV&&& SR0,C&&&&&&&&& XRL&&& A,R6&&&&&&&&& MOV&&& C,ACC.7&&&&&&&&& MOV&&& A,R3&&&&&&&&& CLR&&& ACC.7&&&&&&&&& MOV&&& R3,A&&&&&&&&& MOV&&& A,R6&&&&&&&&& CLR&&& ACC.7&&&&&&&&& MOV&&& R6,A&&&&&&&&& JC&&&& DAB2&&&&&&&&& LCALL& NADD&&&&&&&&& MOV&&& A,R3&&&&&&&&& JB&&&& ACC.7,DABEDAB1&&&& :MOV&&& C,SR0&&&&&&&&& MOV&&& ACC.7,C&&&&&&&&& MOV&&& R3,A&&&&&&&&& CLR&&& OV&&&&&&&&& RETDABE&&&& :SETB&& OV&&&&&&&&& RETDAB2&&&& :LCALL& NSUB&&&&&&&&& MOV&&& A,R3&&&&&&&&& JNB&&& ACC.7,DAB1&&&&&&&&& LCALL& CMPT&&&&&&&&& CPL&&& SR0&&&&&&&&& SJMP&& DAB1;原码有符号双字节乘法程序 (R3R4*R6R7)=(R5R2R3R4);入口&&& :R3,R4,R6,R7;占用资源:ACC,SR0,NMUL22;堆栈需求:4字节;出口&&& :R5,R2,R3,R4IMUL&&&& :MOV&&& A,R3&&&&&&&&& XRL&&& A,R6&&&&&&&&& MOV&&& C,ACC.7&&&&&&&&& MOV&&& SR0,C&&&&&&&&& MOV&&& A,R3&&&&&&&&& CLR&&& ACC.7&&&&&&&&& MOV&&& R3,A&&&&&&&&& MOV&&& A,R6&&&&&&&&& CLR&&& ACC.7&&&&&&&&& MOV&&& R6,A&&&&&&&&& LCALL& NMUL22&&&&&&&&& MOV&&& A,R5&&&&&&&&& MOV&&& C,SR0&&&&&&&&& MOV&&& ACC.7,C&&&&&&&&& MOV&&& R5,A&&&&&&&&& RET;原码有符号双字节除法程序 (R5R2R3R4/R6R7)=(R3R4) 余数(R6R7);入口&&& :R5,R2,R3,R4;占用资源:ACC,SR0,NDIV42;堆栈需求:6字节;出口&&& :R3,R4,R6,R7,OVIDIV&&&& :MOV&&& A,R5&&&&&&&&& XRL&&& A,R6&&&&&&&&& MOV&&& C,ACC.7&&&&&&&&& MOV&&& SR0,C&&&&&&&&& MOV&&& A,R5&&&&&&&&& CLR&&& ACC.7&&&&&&&&& MOV&&& R5,A&&&&&&&&& MOV&&& A,R6&&&&&&&&& CLR&&& ACC.7&&&&&&&&& MOV&&& R6,A&&&&&&&&& LCALL& NDIV42&&&&&&&&& MOV&&& A,R3&&&&&&&&& JB&&&& ACC.7,IDIVE&&&&&&&&& JB&&&& OV,IDIVE&&&&&&&&& MOV&&& C,SR0&&&&&&&&& MOV&&& ACC.7,C&&&&&&&&& MOV&&& R3,A&&&&&&&&& RETIDIVE&&& :SETB&& OV&&&&&&&&& RET&;单字节顺序查找程序;入口&&& :R0,R1,A,R7;占用资源:B;堆栈需求:2字节;出口&&& :R0,R1,AFINDB1&& :MOV&&& B,A&&&&&&&&& MOV&&& DPL,R1&&&&&&&&& MOV&&& DPH,R0FINDB11& :MOVX&& A,@DPTR&&&&&&&&& CJNE&& A,B,FINDB12&&&&&&&&& MOV&&& R1,DPL&&&&&&&&& MOV&&& R0,DPH&&&&&&&&& CLR&&& A&&&&&&&&& RETFINDB12& :INC&&& DPTR&&&&&&&&& DJNZ&& R7,FINDB11&&&&&&&&& MOV&&& A,#0FFH&&&&&&&&& RET;单字节顺序查找程序;入口&&& :R0,R1,A,R6,R7;占用资源:B;堆栈需求:2字节;出口&&& :R0,R1,AFINDB2&& :MOV&&& B,A&&&&&&&&& MOV&&& DPL,R1&&&&&&&&& MOV&&& DPH,R0&&&&&&&&& MOV&&& A,R7&&&&&&&&& JZ&&&& FINDB21&&&&&&&&& INC&&& R6FINDB21& :MOVX&& A,@DPTR&&&&&&&&& CJNE&& A,B,FINDB22&&&&&&&&& MOV&&& R1,DPL&&&&&&&&& MOV&&& R0,DPH&&&&&&&&& CLR&&& A&&&&&&&&& RETFINDB22& :INC&&& DPTR&&&&&&&&& DJNZ&& R7,FINDB21&&&&&&&&& DJNZ&& R6,FINDB21&&&&&&&&& MOV&&& A,#0FFH&&&&&&&&& RET;双字节字符串顺序查找程序;入口&&& :R0,R1,R3,R4,R7;占用资源:ACC,B;堆栈需求:2字节;出口&&& :R0,R1,AFINDS1&& :MOV&&& DPL,R1&&&&&&&&& MOV&&& DPH,R0FINDS11& :MOVX&& A,@DPTR&&&&&&&&& INC&&& DPTR&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,R4&&&&&&&&& JNZ&&& FINDS12&&&&&&&&& MOVX&& A,@DPTR&&&&&&&&& SUBB&& A,R3&&&&&&&&& JNZ&&& FINDS12&&&&&&&&& MOV&&& A,DPL&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,#01H&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& A,DPH&&&&&&&&& SUBB&& A,#00H&&&&&&&&& MOV&&& R0,A&&&&&&&&& CLR&&& A&&&&&&&&& RETFINDS12& :DJNZ&& R7,FINDS11&&&&&&&&& MOV&&& A,#0FFH&&&&&&&&& RET;双字节字符串顺序查找程序;入口&&& :R0,R1,R3,R4,R6,R7;占用资源:ACC,B;堆栈需求:2字节;出口&&& :R0,R1,AFINDS2&& :MOV&&& DPL,R1&&&&&&&&& MOV&&& DPH,R0&&&&&&&&& MOV&&& A,R7&&&&&&&&& JZ&&&& FINDS21&&&&&&&&& INC&&& R6FINDS21& :MOVX&& A,@DPTR&&&&&&&&& INC&&& DPTR&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,R4&&&&&&&&& JNZ&&& FINDS22&&&&&&&&& MOVX&& A,@DPTR&&&&&&&&& SUBB&& A,R3&&&&&&&&& JNZ&&& FINDS22&&&&&&&&& MOV&&& A,DPL&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,#01H&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& A,DPH&&&&&&&&& SUBB&& A,#00H&&&&&&&&& MOV&&& R0,A&&&&&&&&& CLR&&& A&&&&&&&&& RETFINDS22& :DJNZ&& R7,FINDS21&&&&&&&&& DJNZ&& R6,FINDS21&&&&&&&&& MOV&&& A,#0FFH&&&&&&&&& RET;N字节字符串顺序查找程序;入口&&& :ADDPH,ADDPL,R0,R6,R7,N;占用资源:ACC,B,R2,NCNT;堆栈需求:2字节;出口&&& :ADDPH,ADDPL,AFINDN&&& :MOV&&& A,R0&&&&&&&&& MOV&&& R2,A&&&&&&&&& MOV&&& A,ADDPL&&&&&&&&& MOV&&& DPL,A&&&&&&&&& MOV&&& A,ADDPH&&&&&&&&& MOV&&& DPH,A&&&&&&&&& MOV&&& A,R7&&&&&&&&& JZ&&&& FINDN1&&&&&&&&& INC&&& R6FINDN1&& :MOV&&& A,R2&&&&&&&&& MOV&&& R0,A&&&&&&&&& MOV&&& A,N&&&&&&&&& MOV&&& NCNT,AFINDN2&& :MOVX&& A,@DPTR&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,@R0&&&&&&&&& JNZ&&& FINDN3&&&&&&&&& INC&&& DPTR&&&&&&&&& INC&&& R0&&&&&&&&& DJNZ&& NCNT,FINDN2&&&&&&&&& MOV&&& A,DPL&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,N&&&&&&&&& MOV&&& ADDPL,A&&&&&&&&& MOV&&& A,DPH&&&&&&&&& SUBB&& A,#00H&&&&&&&&& MOV&&& ADDPH,A&&&&&&&&& CLR&&& A&&&&&&&&& RETFINDN3&& :CLR&&& C&&&&&&&&& MOV&&& A,R0&&&&&&&&& SUBB&& A,R2&&&&&&&&& JNZ&&& FINDN4&&&&&&&&& INC&&& DPTRFINDN4&& :DJNZ&& R7,FINDN1&&&&&&&&& DJNZ&& R6,FINDN1&&&&&&&&& MOV&&& A,#0FFH&&&&&&&&& RET;单字节最值查找程序;入口&&& :R0,R1,R6,R7;占用资源:ACC,B;堆栈需求:2字节;出口&&& :R0(最大值),R1(最小值),R2,R3,R4,R5FMAMIB&& :MOV&&& DPL,R1&&&&&&&&& MOV&&& DPH,R0&&&&&&&&& MOVX&& A,@DPTR&&&&&&&&& MOV&&& R0,A&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& A,DPL&&&&&&&&& MOV&&& R3,A&&&&&&&&& MOV&&& R5,A&&&&&&&&& MOV&&& A,DPH&&&&&&&&& MOV&&& R2,A&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& A,R7&&&&&&&&& JZ&&&& FMMB1&&&&&&&&& INC&&& R6FMMB1&&& :MOVX&& A,@DPTR&&&&&&&&& MOV&&& B,A&&&&&&&&& SETB&& C&&&&&&&&& SUBB&& A,R0&&&&&&&&& JC&&&& FMMB2&&&&&&&&& MOV&&& R0,B&&&&&&&&& MOV&&& R3,DPL&&&&&&&&& MOV&&& R2,DPH&&&&&&&&& SJMP&& FMMB3FMMB2&&& :MOV&&& A,B&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,R1&&&&&&&&& JNC&&& FMMB3&&&&&&&&& MOV&&& R1,B&&&&&&&&& MOV&&& R5,DPL&&&&&&&&& MOV&&& R4,DPHFMMB3&&& :INC&&& DPTR&&&&&&&&& DJNZ&& R7,FMMB1&&&&&&&&& DJNZ&& R6,FMMB1&&&&&&&&& RET;浮点数顺序查找程序;入口&&& :R0,R1,R2,R3,R4,R6,R7;占用资源:B,NCNT,FCMP;堆栈需求:2字节;出口&&& :R0,R1,AFINDF&&& :MOV&&& DPL,R1&&&&&&&&& MOV&&& DPH,R0&&&&&&&&& MOV&&& A,R7&&&&&&&&& MOV&&& B,A&&&&&&&&& MOV&&& NCNT,R6&&&&&&&&& JZ&&&& FINDF1&&&&&&&&& INC&&& NCNTFINDF1&& :MOVX&& A,@DPTR&&&&&&&&& INC&&& DPTR&&&&&&&&& MOV&&& R5,A&&&&&&&&& MOVX&& A,@DPTR&&&&&&&&& INC&&& DPTR&&&&&&&&& MOV&&& R6,A&&&&&&&&& MOVX&& A,@DPTR&&&&&&&&& INC&&& DPTR&&&&&&&&& MOV&&& R7,A&&&&&&&&& LCALL& FCMP&&&&&&&&& JNZ&&& FINDF2&&&&&&&&& MOV&&& A,DPL&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,#03H&&&&&&&&& MOV&&& R1,A&&&&&&&&& MOV&&& A,DPH&&&&&&&&& SUBB&& A,#00H&&&&&&&&& MOV&&& R0,A&&&&&&&&& CLR&&& A&&&&&&&&& RETFINDF2&& :DJNZ&& B,FINDF1&&&&&&&&& DJNZ&& NCNT,FINDF1&&&&&&&&& MOV&&& A,#0FFH&&&&&&&&& RET;浮点数最值查找程序;入口&&& :ADDPH,ADDPL,R6,R7;占用资源:ACC,B,NCNT,ITEMOV,EBMOV,MOVB,MOVR1,FCMP;堆栈需求:5字节;出口&&& :[R0](最大值),[R1](最小值),R2,R3,R4,R5FMAMIF&& :MOV&&& A,ADDPL&&&&&&&&& MOV&&& R3,A&&&&&&&&& MOV&&& R5,A&&&&&&&&& MOV&&& DPL,A&&&&&&&&& MOV&&& A,ADDPH&&&&&&&&& MOV&&& R2,A&&&&&&&&& MOV&&& R4,A&&&&&&&&& MOV&&& DPH,A&&&&&&&&& MOV&&& B,R7&&&&&&&&& MOV&&& R7,#03H&&&&&&&&& LCALL& ITEMOV&&&&&&&&& MOV&&& R7,#03H&&&&&&&&& LCALL& IBMOV&&&&&&&&& MOV&&& A,B&&&&&&&&& JZ&&&& FMMF1&&&&&&&&& INC&&& NCNTFMMF1&&& :PUSH&& B&&&&&&&&& MOVX&& A,@DPTR&&&&&&&&& INC&&& DPTR&&&&&&&&& MOV&&& R2,A&&&&&&&&& MOVX&& A,@DPTR&&&&&&&&& INC&&& DPTR&&&&&&&&& MOV&&& R3,A&&&&&&&&& MOVX&& A,@DPTR&&&&&&&&& INC&&& DPTR&&&&&&&&& MOV&&& R4,A&&&&&&&&& LCALL& MOVR1&&&&&&&&& LCALL& FCMP&&&&&&&&& JNC&&& FMMF2&&&&&&&&& MOV&&& A,R0&&&&&&&&& XCH&&& A,R1&&&&&&&&& MOV&&& R0,A&&&&&&&&& LCALL& MOVB&&&&&&&&& MOV&&& R5,DPL&&&&&&&&& MOV&&& R4,DPH&&&&&&&&& MOV&&& A,R0&&&&&&&&& XCH&&& A,R1&&&&&&&&& MOV&&& R0,A&&&&&&&&& SJMP&& FMMF3FMMF2&&& :MOV&&& A,R0&&&&&&&&& XCH&&& A,R1&&&&&&&&& MOV&&& R0,A&&&&&&&&& LCALL& MOVR1&&&&&&&&& LCALL& FCMP&&&&&&&&& MOV&&& A,R0&&&&&&&&& XCH&&& A,R1&&&&&&&&& MOV&&& R0,A&&&&&&&&& JZ&&&& FMMF3&&&&&&&&& JC&&&& FMMF3&&&&&&&&& LCALL& MOVB&&&&&&&&& MOV&&& R3,DPL&&&&&&&&& MOV&&& R2,DPHFMMF3&&& :POP&&& B&&&&&&&&& DJNZ&& B,FMMF1&&&&&&&&& DJNZ&& NCNT,FMMF1&&&&&&&&& RET;单字节折半查找程序;入口&&& :A,R0,R1,R6,R7;占用资源:B,R2;堆栈需求:2字节;出口&&& :R0,R1SEARCHB& :MOV&&& B,A&&&&&&&&& MOV&&& A,R1&&&&&&&&& ADD&&& A,R7&&&&&&&&& MOV&&& R7,A&&&&&&&&& MOV&&& A,R0&&&&&&&&& ADDC&& A,R6&&&&&&&&& MOV&&& R6,A&&&&&&&&& MOV&&& A,R7&&&&&&&&& SUBB&& A,#01H&&&&&&&&& MOV&&& R7,A&&&&&&&&& JNC&&& SECH1&&&&&&&&& DEC&&& R6SECH1&&& :MOV&&& A,R7&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,R1&&&&&&&&& MOV&&& A,R6&&&&&&&&& SUBB&& A,R0&&&&&&&&& JNC&&& SECH2&&&&&&&&& MOV&&& A,#0FFH&&&&&&&&& RETSECH2&&& :MOV&&& A,R7&&&&&&&&& ADD&&& A,R1&&&&&&&&& MOV&&& R2,A&&&&&&&&& MOV&&& A,R6&&&&&&&&& ADDC&& A,R0&&&&&&&&& RRC&&& A&&&&&&&&& MOV&&& DPH,A&&&&&&&&& MOV&&& A,R2&&&&&&&&& RRC&&& A&&&&&&&&& MOV&&& DPL,A&&&&&&&&& MOVX&& A,@DPTR&&&&&&&&& CLR&&& C&&&&&&&&& SUBB&& A,B&&&&&&&&& JNC&&& SECH3&&&&&&&&& INC&&& DPTR&&&&&&&&& MOV&&& R0,DPH&&&&&&&&& MOV&&& R1,DPL&&&&&&&&& SJMP&& SECH1SECH3&&& :JZ&&&& SECH5&&&&&&&&& MOV&&& A,DPL&&&&&&&&& SUBB&& A,#01H&&&&&&&&& MOV&&& R7,A&&&&&&&&& JNC&&& SECH4&&&&&&&&& MOV&&& R6,DPH&&&&&&&&& DEC&&& R6SECH4&&& :SJMP&& SECH1SECH5&&& :MOV&&& R0,DPH&&&&&&&&& MOV&&& R1,DPL&&&&&&&&& CLR&&& A&&&&&&&&& RET
如果您还需要补充此51单片机汇编程序库,请联系 单片机教程网的站长
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网
, All Rights Reserved

我要回帖

更多关于 单片机汇编 的文章

 

随机推荐