欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

用右移加法做乘法運算(65535*65535)

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年03月18日   【字體:
 ORG 0000H
 JMP A1
 ORG 002BH
A1: MOV R0,#0;數據處理寄存器高位(乘積高8位)
 MOV R1,#0;數據處理寄存器低位(乘積高中8位)
 MOV R2,#255;被乘數高位(乘積低中8位)
 MOV R3,#255;被乘數低位(乘積低8位)
 MOV R4,#255;乘數高位
 MOV R5,#255;乘數低位
 MOV 30H,#16;循環次數--8位二進制數相乘8次4位則4次
A2:
 CLR C;清C
 MOV A,R3;
 JNB ACC.0,A3;判斷被乘數第0位是否為0是則不用相加
 MOV A,R1;不為0則相加
 ADD A,R5;乘數低位與處理后數據低位相加
 MOV R1,A;數據存回數據處理低位寄存器
 MOV A,R0
 ADDC A,R4;乘數低位與處理后數據高位相加上面相加可能溢出所以用ADDC
 MOV R0,A;數據存回數據處理高位寄存器
A3: MOV A,R0;先右移高位
 RRC A;相加可能溢出所以用RRC
 MOV R0,A;
 MOV A,R1;在右移低位
 RRC A;RRC把高位的數移入低位
 MOV R1,A
 MOV A,R2;
 RRC A;將處理后的數移到被乘數高位
 MOV R2,A;
 MOV A,R3;
 RRC A;將處理后的數移到被乘數低位
 MOV R3,A;
 DJNZ 30H,A2;是否完成
 NOP
 NOP
 NOP
 JMP $
 END
關閉窗口

相關文章