初学者求助汇编语言的问题

2019-07-16 05:14发布

本人是初学者,平常在设计程序都是用C语言来写程序。今天突然心血来潮想用汇编写简单的乘法程序,并用数码管输出,但是遇到一个问题:当我的乘积超过255的时候,如999。请问怎么弄啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
lstcspring
2019-07-16 08:03

用多个寄存器,参考:
(r3r2r1r0) = (r7r6) * (r5r4), r4-r7 unchanged
mul_word:mov b,r6
  mov  a,r4
  mul  ab
  mov  r0,a
  mov  r1,b
  mov  r2,#0
  mov  r3,#0
  mov  a,r7
  mov  b,r4
  mul  ab
  add  a,r1
  mov  r1,a
  mov  a,r2
  addc  a,b
  mov  r2,a
  clr  a
  addc  a,r3
  mov  r3,a
  mov  a,r6
  mov  b,r5
  mul  ab
  add  a,r1
  mov  r1,a
  mov  a,r2
  addc  a,b
  mov  r2,a
  clr  a
  addc  a,r3
  mov  r3,a
  mov  a,r7
  mov  b,r5
  mul  ab
  add  a,r2
  mov  r2,a
  mov  a,r3
  addc  a,b
  mov  r3,a
  ret

一周热门 更多>