.data
Vector1: .double 1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10.10,11.11,12.12,13.13,14.14,15.15,16.16 ;向量1
Vector2: .double 0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,0.10,0.11,0.12,0.13,0.14,0.15,0.16 ;向量2
print: .asciiz "result is: ";字符串”result is:”
style: .asciiz "%f ";输出格式
.align 2
str: .word style
address: .space 8 ;指令位于text指针所指向的空间
.text
.global main
main:
addi r1,r0,print
sw address,r1;存储字,保存a的首地址
addi r14,r0,address
trap 5 ;输出字符串”result is: ”
addi r10,r0,0 ;r10=0
addi r8,r0,20 ;r8=20,即为向量的长度
loop:
ld f2, Vector1(r10)
ld f4, Vector2(r10)
addd f2,f2,f4 ;将向量1与向量2对应项相加,保存在f2
sd address,f2 ;存储双精度浮点数2
addi r14,r0,str
trap 5 ;输出内容
addi r10,r10,8 ;取Vector1与Vector2下一项
subi r8,r8,1 ;循环次数减一
bnez r8,loop ;若r8!=0,返回到loop
trap 0 ;结束程序
双精度浮点一维向量的加法(汇编实现)
最新推荐文章于 2022-10-21 11:03:04 发布