功能:
双字节无符号数乘法子程序。
入口参数: 被乘数放在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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【笔记】生成报错synthdesignERROR被打赏50分 | |
【STM32H7S78-DK评测】LTDC+DMA2D驱动RGBLCD屏幕被打赏50分 | |
【STM32H7S78-DK评测】Coremark基准测试被打赏50分 | |
【STM32H7S78-DK评测】浮点数计算性能测试被打赏50分 | |
【STM32H7S78-DK评测】Execute in place(XIP)模式学习笔记被打赏50分 | |
每周了解几个硬件知识+buckboost电路(五)被打赏10分 | |
【换取逻辑分析仪】RA8 PMU 模块功能寄存器功能说明被打赏20分 | |
野火启明6M5适配SPI被打赏20分 | |
NUCLEO-U083RC学习历程2-串口输出测试被打赏20分 | |
【笔记】STM32CUBEIDE的Noruletomaketarget编译问题被打赏50分 |