功能:
双字节无符号数乘法子程序。
入口参数: 被乘数放在R7(高)和R6(低);
乘数放在R5(高)和R4(低);
积(片内RAM中的连续4字节)的首地址放在R0中。
共3条
1/1 1 跳转至页
跪求8051单片机程序:设计并调试一个双字节无符号数乘法子程序
这是我在学校老师那里拿来的收藏好东西 你参考下
(5) 标号: MULD 功能:双字节二进制无符号数乘法 入口条件:被乘数在R2、R3中,乘数在R6、R7中。 出口信息:乘积在R2、R3、R4、R5中。 影响资源:PSW、A、B、R2~R7 堆栈需求: 2字节 MULD: MOV A,R3 ;计算R3乘R7 MOV B,R7 MUL AB MOV R4,B ;暂存部分积 MOV R5,A MOV A,R3 ;计算R3乘R6 MOV B,R6 MUL AB ADD A,R4 ;累加部分积 MOV R4,A CLR A ADDC A,B MOV R3,A MOV A,R2 ;计算R2乘R7 MOV B,R7 MUL AB ADD A,R4 ;累加部分积 MOV R4,A MOV A,R3 ADDC A,B MOV R3,A CLR A RLC A XCH A,R2 ;计算R2乘R6 MOV B,R6 MUL AB ADD A,R3 ;累加部分积 MOV R3,A MOV A,R2 ADDC A,B MOV R2,A RET
(5) 标号: MULD 功能:双字节二进制无符号数乘法 入口条件:被乘数在R2、R3中,乘数在R6、R7中。 出口信息:乘积在R2、R3、R4、R5中。 影响资源:PSW、A、B、R2~R7 堆栈需求: 2字节 MULD: MOV A,R3 ;计算R3乘R7 MOV B,R7 MUL AB MOV R4,B ;暂存部分积 MOV R5,A MOV A,R3 ;计算R3乘R6 MOV B,R6 MUL AB ADD A,R4 ;累加部分积 MOV R4,A CLR A ADDC A,B MOV R3,A MOV A,R2 ;计算R2乘R7 MOV B,R7 MUL AB ADD A,R4 ;累加部分积 MOV R4,A MOV A,R3 ADDC A,B MOV R3,A CLR A RLC A XCH A,R2 ;计算R2乘R6 MOV B,R6 MUL AB ADD A,R3 ;累加部分积 MOV R3,A MOV A,R2 ADDC A,B MOV R2,A RET
共3条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| STM32C0116DK开发探索记(3)被打赏¥30元 | |
| STM32C0116DK开发探索记(2)被打赏¥24元 | |
| STM32C0116DK开发探索记(1)被打赏¥29元 | |
| 谨防极海G32M3101电机评估板易跌落的陷阱被打赏¥24元 | |
| 【全网首拆】M5STACK ATOM系列开发板拆解 / AtomS3R-CAM摄像头更换方法(提高10倍像素)被打赏¥26元 | |
| 基于MCP23S17的输入输出功能模块控制被打赏¥20元 | |
| 【S32K3XX】SPD 软件包使用Link文件修改被打赏¥22元 | |
| Switch-Case局部变量定义问题被打赏¥23元 | |
| 基于米尔TIAM62L开发板的串口通信及应用被打赏¥20元 | |
| PCF8574功能模块及其使用被打赏¥20元 | |
我要赚赏金
