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

上传人:jian****018 文档编号:7872199 上传时间:2020-03-25 格式:DOC 页数:3 大小:12KB
返回 下载 相关 举报
单片机两个双字节无符号数相乘程序举例.doc_第1页
第1页 / 共3页
单片机两个双字节无符号数相乘程序举例.doc_第2页
第2页 / 共3页
单片机两个双字节无符号数相乘程序举例.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述
单片机两个双字节无符号数相乘程序举例本程序适用于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的各个位。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
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!