1. 程式人生 > >雙精度浮點一維向量的加法(彙編實現)

雙精度浮點一維向量的加法(彙編實現)

.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	;結束程式