单片机两个双字节无符号数相乘程序举例

上传人:re****.1 文档编号:502746469 上传时间:2022-08-03 格式:DOC 页数:3 大小:11.51KB
返回 下载 相关 举报
单片机两个双字节无符号数相乘程序举例_第1页
第1页 / 共3页
单片机两个双字节无符号数相乘程序举例_第2页
第2页 / 共3页
单片机两个双字节无符号数相乘程序举例_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《单片机两个双字节无符号数相乘程序举例》由会员分享,可在线阅读,更多相关《单片机两个双字节无符号数相乘程序举例(3页珍藏版)》请在金锄头文库上搜索。

1、单片机两个双字节无符号数相乘程序举例本程序适用于Intel的51系统单片机 例 将(R2R3)和(R6R7)两个双字节无符号数相乘,结果送R4R5R6R7。 用移位和迭加的方式,步骤如下: 1)清部分积(高16位)R4R5=0。循环数16。 2)把R4R5R6R7右移一位,从最低位开始检查乘数R6R7的各个位。 3)如乘数位为1 本程序适用于Intel的51系统单片机例 将(R2R3)和(R6R7)两个双字节无符号数相乘,结果送R4R5R6R7。用移位和迭加的方式,步骤如下:1)清部分积(高16位)R4R5=0。循环数16。2)把R4R5R6R7右移一位,从最低位开始检查乘数R6R7的各个位。

2、3)如乘数位为1,则被乘数R2R3加到部分积R4R5中,否则不加。4)循环数减1,不到16次再返回1)。NMUL:MOV R4,#0MOV R5,#0 ;积的高16位=0MOV R0,#16 ;乘数16位二进制CLR CNMLP:MOV A,R4RRC AMOV R4,AMOV A,R5RRC AMOV R5,AMOV A,R6RRC AMOV R6,AMOV A,R7RRC AMOV R7,A ;(R4R5R6R7)右移一位JNC NMLNMOV A,R5 ;若移出位=1,则(R4R5)=(R4R5)+(R2R3)ADD A,R3MOV R5,AMOV A,R4ADDC A,R2MOV R4,ANMLN:DJNZ R0,NMLPMOV A,R4 ;最后再移位一次RRC AMOV R4,AMOV A,R5RRC AMOV R5,AMOV A,R6RRC AMOV R6,AMOV A,R7RRC AMOV R7,A ;(R4R5R6R7)右移一位RET

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号