装配程序以mips为单位。几何级数

时间:2016-10-29 22:06:52

标签: assembly mips32

好的,在我的第一个单一任务中,我得到了mips的几何级数计划。问题是我必须使用的类型是a_ {n} = a * r ^ {n-1}并且我必须制作一个程序,显示此几何级数的前6个数字,a1 = 3且r = 3.Numbers to可以看到是3,6,12,24,48,96和这些6.Its初学者类的摘要所以我们不使用标准的程序集名称。我的问题是我做了一个代码,显示数字3,12,24,48,96,192和总和。任何人都可以帮助我,所以我可以在中间捣乱6号?

li $3,1
li $8,3 #a1
li $9,2 #r
li $10,5 #counter
li $11,0 #summ
addi $2,$0,1
add $4,$0,$8
syscall
add $11,$11,$4
L1:
   addi $3,$3,1
   subi $6,$3,1
   beq $6,1,Else
   sllv $14,$9,$6
   Else:
        sllv $14,$9,$6
   j Endif
   Endif:
   mul $14,$8,$14
   add $4,$0,$14
   addi $2,$0,1
   syscall
   add $11,$11,$4
   addi $10,$10,-1
   bne $10,$0,L1
   addi $2,$0,1
   move $4,$11
   syscall

1 个答案:

答案 0 :(得分:1)

r^(n-1)2^(n-1),即1<<(n-1)。但你计算的是r<<(n-1),即2<<(n-1),这显然会给你两倍的价值。