M2_SETI/T1/TP/TP3/T1-TP3-code/TP3-dist/daxpy.s
2022-11-18 15:07:43 +01:00

23 lines
570 B
ArmAsm
Executable file

;; MIPS program double ax plus y (daxpy)
.data
A: .double 10.0
X: .double 8.0, 1.0,2.0,3.0,4.0,5.0,7.0,8.0,9.0,10.0,11.0,12.0
Y: .double 3.0,14.0,13.0,4.0,8.0,9.0,8.0,7.0,6.0,5.0,4.0,3.0
N: .word 12
.text
main:
l.d f0,A(r0) ; f0 = A
dadd r1,r0,r0 ; r1=i=0
ld r2,N(r0) ; r2=N
loop: l.d f1,X(r1) ; f1=x[i]
l.d f2,Y(r1) ; f2=y[i]
mul.d f1,f1,f0 ; f1=axi
add.d f2,f2,f1 ; f2=axi+yi
s.d f2,Y(r1) ; y[i]=axi+yi
daddi r1,r1,8 ; i++
daddi r2,r2,-1 ; N++
bne r2,r0,loop ;
nop
halt