⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asm-lib1.htm

📁 51单片机语言库,非常经典的汇编语言程序库
💻 HTM
📖 第 1 页 / 共 2 页
字号:
        XCH&nbsp;A,R2 <br>        MUL&nbsp;AB&nbsp;;计算2×R2×R3 <br>        CLR&nbsp;C <br>        RLC&nbsp;A <br>        XCH&nbsp;A,B <br>        RLC&nbsp;A <br>        JNC&nbsp;MU20 <br>        INC&nbsp;R2&nbsp;;累加溢出量 <br>        MU20:&nbsp;XCH&nbsp;A,B&nbsp;;累加部分积 <br>        ADD&nbsp;A,R4 <br>        MOV&nbsp;R4,A <br>        MOV&nbsp;A,R3 <br>        ADDC&nbsp;A,B <br>        MOV&nbsp;R3,A <br>        CLR&nbsp;A <br>        ADDC&nbsp;A,R2 <br>        MOV&nbsp;R2,A <br>        RET <br>        <br>        (7)&nbsp;标号:&nbsp;DIVD&nbsp;功能:双字节二进制无符号数除法 <br>        <br>        入口条件:被除数在R2、R3、R4、R5中,除数在R6、R7中。 <br>        出口信息:OV=0&nbsp;时,双字节商在R2、R3中,OV=1&nbsp;时溢出。 <br>        影响资源:PSW、A、B、R1~R7&nbsp;堆栈需求:&nbsp;2字节 <br>        DIVD:&nbsp;CLR&nbsp;C&nbsp;;比较被除数和除数 <br>        MOV&nbsp;A,R3&nbsp; <br>        SUBB&nbsp;A,R7 <br>        MOV&nbsp;A,R2 <br>        SUBB&nbsp;A,R6 <br>        JC&nbsp;DVD1 <br>        SETB&nbsp;OV&nbsp;;溢出 <br>        RET <br>        DVD1:&nbsp;MOV&nbsp;B,#10H&nbsp;;计算双字节商 <br>        DVD2:&nbsp;CLR&nbsp;C&nbsp;;部分商和余数同时左移一位 <br>        MOV&nbsp;A,R5 <br>        RLC&nbsp;A <br>        MOV&nbsp;R5,A <br>        MOV&nbsp;A,R4 <br>        RLC&nbsp;A <br>        MOV&nbsp;R4,A <br>        MOV&nbsp;A,R3 <br>        RLC&nbsp;A <br>        MOV&nbsp;R3,A <br>        XCH&nbsp;A,R2 <br>        RLC&nbsp;A <br>        XCH&nbsp;A,R2 <br>        MOV&nbsp;F0,C&nbsp;;保存溢出位 <br>        CLR&nbsp;C <br>        SUBB&nbsp;A,R7&nbsp;;计算(R2R3-R6R7) <br>        MOV&nbsp;R1,A <br>        MOV&nbsp;A,R2 <br>        SUBB&nbsp;A,R6 <br>        ANL&nbsp;C,/F0&nbsp;;结果判断 <br>        JC&nbsp;DVD3 <br>        MOV&nbsp;R2,A&nbsp;;够减,存放新的余数 <br>        MOV&nbsp;A,R1 <br>        MOV&nbsp;R3,A <br>        INC&nbsp;R5&nbsp;;商的低位置一 <br>        DVD3:&nbsp;DJNZ&nbsp;B,DVD2&nbsp;;计算完十六位商(R4R5) <br>        MOV&nbsp;A,R4&nbsp;;将商移到R2R3中 <br>        MOV&nbsp;R2,A <br>        MOV&nbsp;A,R5 <br>        MOV&nbsp;R3,A <br>        CLR&nbsp;OV&nbsp;;设立成功标志 <br>        RET <br>          <br>        (8)&nbsp;标号:&nbsp;D457&nbsp;功能:双字节二进制无符号数除以单字节二进制数 <br>        <br>        入口条件:被除数在R4、R5中,除数在R7中。 <br>        出口信息:OV=0&nbsp;时,单字节商在R3中,OV=1&nbsp;时溢出。 <br>        影响资源:PSW、A、R3~R7&nbsp;堆栈需求:&nbsp;2字节 <br>        D457:&nbsp;CLR&nbsp;C <br>        MOV&nbsp;A,R4 <br>        SUBB&nbsp;A,R7 <br>        JC&nbsp;DV50 <br>        SETB&nbsp;OV&nbsp;;商溢出 <br>        RET <br>        DV50:&nbsp;MOV&nbsp;R6,#8&nbsp;;求平均值(R4R5/R7-→R3) <br>        DV51:&nbsp;MOV&nbsp;A,R5 <br>        RLC&nbsp;A <br>        MOV&nbsp;R5,A <br>        MOV&nbsp;A,R4 <br>        RLC&nbsp;A <br>        MOV&nbsp;R4,A <br>        MOV&nbsp;F0,C <br>        CLR&nbsp;C <br>        SUBB&nbsp;A,R7 <br>        ANL&nbsp;C,/F0 <br>        JC&nbsp;DV52 <br>        MOV&nbsp;R4,A <br>        DV52:&nbsp;CPL&nbsp;C <br>        MOV&nbsp;A,R3 <br>        RLC&nbsp;A <br>        MOV&nbsp;R3,A <br>        DJNZ&nbsp;R6,DV51 <br>        MOV&nbsp;A,R4&nbsp;;四舍五入 <br>        ADD&nbsp;A,R4 <br>        JC&nbsp;DV53 <br>        SUBB&nbsp;A,R7 <br>        JC&nbsp;DV54 <br>        DV53:&nbsp;INC&nbsp;R3 <br>        DV54:&nbsp;CLR&nbsp;OV <br>        RET <br>          <br>        (9)&nbsp;标号:&nbsp;DV31&nbsp;功能:三字节二进制无符号数除以单字节二进制数 <br>        <br>        入口条件:被除数在R3、R4、R5中,除数在R7中。 <br>        出口信息:OV=0&nbsp;时,双字节商在R4、R5中,OV=1&nbsp;时溢出。 <br>        影响资源:PSW、A、B、R2~R7&nbsp;堆栈需求:&nbsp;2字节 <br>        DV31:&nbsp;CLR&nbsp;C <br>        MOV&nbsp;A,R3 <br>        SUBB&nbsp;A,R7 <br>        JC&nbsp;DV30 <br>        SETB&nbsp;OV&nbsp;;商溢出 <br>        RET <br>        DV30:&nbsp;MOV&nbsp;R2,#10H&nbsp;;求R3R4R5/R7-→R4R5 <br>        DM23:&nbsp;CLR&nbsp;C <br>        MOV&nbsp;A,R5 <br>        RLC&nbsp;A <br>        MOV&nbsp;R5,A <br>        MOV&nbsp;A,R4 <br>        RLC&nbsp;A <br>        MOV&nbsp;R4,A <br>        MOV&nbsp;A,R3 <br>        RLC&nbsp;A <br>        MOV&nbsp;R3,A <br>        MOV&nbsp;F0,C <br>        CLR&nbsp;C <br>        SUBB&nbsp;A,R7 <br>        ANL&nbsp;C,/F0 <br>        JC&nbsp;DM24 <br>        MOV&nbsp;R3,A <br>        INC&nbsp;R5 <br>        DM24:&nbsp;DJNZ&nbsp;R2,DM23 <br>        MOV&nbsp;A,R3&nbsp;;四舍五入 <br>        ADD&nbsp;A,R3 <br>        JC&nbsp;DM25 <br>        SUBB&nbsp;A,R7 <br>        JC&nbsp;DM26 <br>        DM25:&nbsp;INC&nbsp;R5 <br>        MOV&nbsp;A,R5 <br>        JNZ&nbsp;DM26 <br>        INC&nbsp;R4 <br>        DM26:&nbsp;CLR&nbsp;OV <br>        RET&nbsp;;商在R4R5中&nbsp; <br>          <br>        (10)&nbsp;标号:&nbsp;MULS&nbsp;功能:双字节二进制有符号数乘法(补码) <br>        <br>        入口条件:被乘数在R2、R3中,乘数在R6、R7中。 <br>        出口信息:乘积在R2、R3、R4、R5中。 <br>        影响资源:PSW、A、B、R2~R7&nbsp;堆栈需求:&nbsp;4字节 <br>        MULS:&nbsp;MOV&nbsp;R4,#0&nbsp;;清零R4R5 <br>        MOV&nbsp;R5,#0 <br>        LCALL&nbsp;MDS&nbsp;;计算结果的符号和两个操作数的绝对值 <br>        LCALL&nbsp;MULD&nbsp;;计算两个绝对值的乘积 <br>        SJMP&nbsp;MDSE&nbsp;;用补码表示结果 <br>        <br>        <br>        (待续) <br>        来源:21IC&nbsp;</font> </p>      <p align=right> <FONT color=#0000A0>※&nbsp; 作 者: rcl&nbsp;2000-7-25 13:06:59&nbsp;※</FONT></p>      <p>&nbsp; </p>      <p><FONT                   size=2><BR>        </FONT></p>      </td>    <td rowspan="2">&nbsp;</td>  </tr>  <tr>     <td height="29" valign="bottom" bgcolor="#CCCCCC"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;       &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;       &nbsp; &nbsp; &nbsp; &nbsp;<font color="#000066" size="5" face="华文中宋"> <strong>www.mcufan.com</strong></font></td>  </tr>  <tr>     <td>&nbsp;</td>    <td height="22" bgcolor="#CCCCCC">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;       &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;       &nbsp; &nbsp; &nbsp; <font color="#000066" size="4" face="华文中宋"><strong>&nbsp;       &nbsp; &nbsp; &nbsp; 收集、整理</strong></font></td>    <td>&nbsp;</td>  </tr></table></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -