入口條件:被乘數在r2、r3中,乘數在r6、r7中。
出口資訊:乘積在r2、r3、r4、r5中。
影響資源:psw、a、b、r2~r7 堆疊需求: 2位元組
左邊的是參考: 右邊部分是修改的
r2 r3 r4 r5
r4 r5 r6 r7
muld:
mov a,r3 ;計算r3乘r7
mov b,r7
mul ab ; 結果高位元組存入暫存器b,底位元組存入累加器a
mov r4,b ;暫存部分積 mov r6,b ;暫存部分積
mov r5,a mov r7,a
mov a,r3 ;計算r3乘r6
mov b,r6
mul ab
add a,r4 ;累加部分積 add a,r6 ;累加部分積
mov r4,a mov r6,a
clr a clr a
addc a,b addc a,b
mov r3,a mov r5,a
mov a,r2 ;計算r2乘r7
mov b,r7
mul ab
add a,r4 ;累加部分積 add a,r6 ;累加部分積
mov r4,a mov r6,a
mov a,r3 mov a,r5
addc a,b addc a,b
mov r3,a mov r5,a
clr a clr a
rlc a rlc a
xch a,r2 ;計算r2乘r6
mov b,r6
mul ab
add a,r3 ;累加部分積 add a,r5 ;累加部分積
mov r3,a mov r5,a
mov a,r2 mov a,r4
addc a,b addc a,b
mov r2,a mov r4,a
ret
位元組專場 leetcode 43 字串相乘
43.字串相乘 給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1 和 num2 的長度...
兩個字串相乘
先附上一張演算法圖 解釋 123 456 首先拿出1和456相乘,儲存到陣列1 2 3 的位置,然後拿出2和456相乘2 3 4的位置,依次類推,直到第乙個字串遍歷完 然後將他們相加,依次存到陣列中 實現如下 int j 0 int resindex 0 for int i 0 i然後再考慮進製,需...
可信刷題字串兩數相乘
43.字串相乘難度中等357 給定兩個以字串形式表示的非負整數num1和num2,返回num1和num2的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1和num2的長度小於1...