單片機兩個雙字節(jié)無符號數(shù)相乘程序舉例.doc
-
資源ID:7872199
資源大?。?span id="bzvnasl" class="font-tahoma">12KB
全文頁數(shù):3頁
- 資源格式: DOC
下載積分:9.9積分
快捷下載
會員登錄下載
微信登錄下載
微信掃一掃登錄
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。
|
單片機兩個雙字節(jié)無符號數(shù)相乘程序舉例.doc
單片機兩個雙字節(jié)無符號數(shù)相乘程序舉例本程序適用于Intel的51系統(tǒng)單片機 例 將(R2R3)和(R6R7)兩個雙字節(jié)無符號數(shù)相乘,結(jié)果送R4R5R6R7。 用移位和迭加的方式,步驟如下: 1)清部分積(高16位)R4R5=0。循環(huán)數(shù)16。 2)把R4R5R6R7右移一位,從最低位開始檢查乘數(shù)R6R7的各個位。 3)如乘數(shù)位為1 本程序適用于Intel的51系統(tǒng)單片機例 將(R2R3)和(R6R7)兩個雙字節(jié)無符號數(shù)相乘,結(jié)果送R4R5R6R7。用移位和迭加的方式,步驟如下:1)清部分積(高16位)R4R5=0。循環(huán)數(shù)16。2)把R4R5R6R7右移一位,從最低位開始檢查乘數(shù)R6R7的各個位。3)如乘數(shù)位為1,則被乘數(shù)R2R3加到部分積R4R5中,否則不加。4)循環(huán)數(shù)減1,不到16次再返回1)。NMUL:MOV R4,#0MOV R5,#0 ;積的高16位=0MOV R0,#16 ;乘數(shù)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