汇编乘除法

乘法篇:

乘法2.png

例如:乘数R0=10010101,被乘数R2=11000101,中间变量R1,乘积R1R0。步骤如下

1、清空中间变量R1;

2、乘数的第0位是1,那被乘数R2加上R1结果给到R1,将R0、R1右移一位

3、乘数的第1位是0,只将R0、R1右移一位

4、乘数的第2位是1,那被乘数R2加上R1结果给到R1,将R0、R1右移一位

5、乘数的第3位是0,只将R0、R1右移一位

6、乘数的第4位是1,那被乘数R2加上R1结果给到R1,将R0、R1右移一位

7、乘数的第5位是0,只将R0、R1右移一位

8、乘数的第6位是0,只将R0、R1右移一位

9、乘数的第7位是1,那被乘数R2加上R1结果给到R1,将R0、R1右移一位

10、这时候R1R0里的值就是最后的乘积,至此算法完成


除法篇:

除法.png

例如:8位除法运算:被除数R2,除数R3,商R0,余数R1。步骤如下

1、清空商R0,余数R1

2、将R2左移一位,给到R1;运算次数加一;

3、两数相减,判断R1是否大于或等于R3;

4、当R1小于R3时,继续移位;

5、当R1大于或等于R3时,R0左移,进位1,将结果存至R1;

6、循环操作,直到运算次数等于被除数的位数(8),输出余数与商的值。


芯片型号

ROM

(bytes)

RAM

(bytes)

IO

ADC

(12bit)

HIRCTimer
封装
MC32F70624K256
18

14路外部

2路内部

32M

3*8bit

1*16bit

SOP20/16/14/8

DIP20/14/8

TSSOP20


热线电话

电话咨询

+86-21-38682906