我是一个单片机初学者(在学校学了三个月),最近正在看汇编的子程序集。但是看到乘法这一节就有很多困难了。主要是用加法和左移指令实现乘法(程序中没有用到乘法指令MUL).。这个相信对各位老鸟来说简直是易如反掌,但是对我这个菜鸟中的菜鸟来说确实很麻烦的,呵呵,不好意思,具体请教几个问题,恳请各位大虾能够帮帮忙:
1. 用加法和左移指令代替乘法指令的数学原理是什么?能不能举例说明一下?
2. 我这本书上只有程序,没有一个注释,所以看不懂,而且好像还有错,因为它用的是右移指令。哪位大虾能不能给我提供一个带详细注释的程序,就是那个利用左移和加法指令的那个,不要出现乘法指令。(多字节无符号相乘就可以,我已经看懂了那个关于确定符号位的部分)
以上就是我的问题,希望各位高人能够指导一下我。不胜感激。
PS:因为我是一个大专生,数学只学习了两个学期。是不是因为我的数学基础比较差,才会造成我现在出现这些问题呢?如果是,我又该学习哪方面的数学知识才能过提高呢? |