windlx 双精度一维向量相乘 代码
生活随笔
收集整理的這篇文章主要介紹了
windlx 双精度一维向量相乘 代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
;定義兩個雙精度浮點數一維向量,然后進行乘法運算。
.data
Vector1: .double 1.2,3.1,3.8,8.5,2.5,1.3,2.4,6.8,7.9,1.8,1.0,4.5,5.2,5.6,8.3,10.4
Vector2: .double 2.4,4.1,5.7,6.8,3.7,7.3,4.4,1.8,5.9,1.9,1.4,4.6,5.7,5.2,8.7,10.9
;結果的輸出格式
PrintfFormat: .asciiz "\n\n%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\n\n".align 2
PrintfPar: .word PrintfFormat
;保存相加結果的空間
Result: .space 200
.text
.global main
main:
addi r1,r0,0 ;r1作為計數器
addui r2,r0,8 ;r2是常量8
loop:
multu r4,r1,r2 ;r4是當前的偏移位置
subi r3,r1,16 ;判斷r1到沒到16次
ld f0,Vector1(r4) ;取數組1的值,偶數編號的float寄存器可以保存雙精度
ld f2,Vector2(r4) ;取數組2的值
multd f4,f0,f2 ;相乘放到f4中
beqz r3,finish ;如果到了16次那么進行跳轉
sd Result(r4),f4 ;f4放到r中
addi r1,r1,1 ;計數器r1++
j loop ;跳轉到loop繼續循環
finish:
addi r14,r0,PrintfPar ;將結果打印出來
trap 0
?
總結
以上是生活随笔為你收集整理的windlx 双精度一维向量相乘 代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑不显示我的计算机管理,固态硬盘不显示
- 下一篇: 华硕主板固态硬盘不识别_华硕主板认不到固