risc-v汇编语言输出斐波那契数列前6位数(仅供参考,不一定正确)

.data

array_A: .word 3,5,7,9,11

.text

la x8,array_A #x8为数组A首地址,x9=&A[i]

add x9,x8,x0 #x9=&A[0]

add x10,x0,x0 #nextTerm=0

add x11,x0,x0 #i=0

addi x13,x0,6 #循环次数

addi x14,x0,1 #x14为t1

addi x15,x0,1 #x15为t2

Loop:

bge x11,x13,Done #i<6

lw x12,0(x9) #x12=A[i]

add x12,x0,x14 #A[i]=t1

sw x12,0(x9) #A[i]存到相应地址中

add x10,x14,x15 #nextTerm=t1+t2

add x14,x0,x15 #t1=t2

add x15,x0,x10 #t2=nestTerm

addi x9,x9,4 #&A[i+1]

addi x11,x11,1 #i++

beq x0,x0,Loop #无条件转移

Done:

li a7,10

你可能感兴趣的:(架构)