求助:单片机乘法指令如何运算 点击:2424 | 回复:2



wh109

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 17回
  • 年度积分:0
  • 历史总积分:75
  • 注册:2003年12月17日
发表于:2006-04-25 20:02:00
楼主
无符号双字节快速乘法子程序
Q16CC:    MOV  A,R7 ;(R4R5)*(R6R7)->(R2R3R4R5)
   MOV  B,R5
   MUL  AB
   XCH  A,R5
   MOV  R3,B
   MOV  B,R6
   MUL  AB
   ADD  A,R3
   MOV  R2,A
   CLR  A
   ADDC  A,B
   MOV  R3,A
   MOV  A,R4
   MOV  B,R7
   MUL  AB
   ADD  A,R2
   XCH  A,R4
   XCH  A,B
   ADDC  A,R3
   MOV  R3,A
   MOV  F0,C ;F0=PSW.5
   MOV  A,R6
   MUL  AB
   ADD  A,R3
   MOV  R3,A
   CLR  A
   MOV  ACC.0,C
   MOV  C,F0
   ADDC  A,B
   MOV  R2,A
   RETI
谁能帮我读懂上面的程序啊,本人看了很长时间也搞不懂,另外我对"  MUL AB" 乘法指令一直不很清楚它是如何运算的,能向加减法那样位与位直接相运算吗?



ensky

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 29回
  • 年度积分:0
  • 历史总积分:105
  • 注册:2006年1月11日
发表于:2006-05-29 17:00:00
1楼
MUL AB 按照单片机的指令介绍即可,乘积为16位字节,高8位存在B中,低8为存在A中。

周公

  • 精华:10帖
  • 求助:0帖
  • 帖子:119帖 | 5549回
  • 年度积分:0
  • 历史总积分:6446
  • 注册:2002年11月26日
发表于:2006-05-30 09:42:00
2楼
一般应用中着重了解指令的用法。如果需要进一步了解,请学习‘微指令’。

热门招聘
相关主题

官方公众号

智造工程师