added cs672 ILP lab files
git-svn-id: svn://anubis/gvsu@415 45c1a28c-8058-47b2-ae61-ca45b979098e
This commit is contained in:
parent
4b39b69c2a
commit
dc03ea0987
16
cs672/ILP-1.s
Normal file
16
cs672/ILP-1.s
Normal file
@ -0,0 +1,16 @@
|
||||
lw r2, 4(r1) ; load item1
|
||||
lw r3, 8(r1) ; load item2
|
||||
lw r4, 16(r1) ; load item3
|
||||
add r6, r2, r3 ; item1 + item2
|
||||
lw r5, 20(r1) ; load item4
|
||||
sw 0(r1), r6 ; sum1 = item1 + item2
|
||||
add r7, r4, r5 ; item3 + item4
|
||||
sw 12(r1), r7 ; sum2 = item3 + item4
|
||||
|
||||
add r8, r6, r7 ; sum1 + sum2
|
||||
sw 24(r1), r8 ; total = sum1 + sum2
|
||||
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
17
cs672/ILP-11.s
Normal file
17
cs672/ILP-11.s
Normal file
@ -0,0 +1,17 @@
|
||||
ld f0, 32(r1) ; get value from M into f0
|
||||
ld f4, 24(r1) ; get value from M into f4
|
||||
ld f6, 16(r1) ; get value from M into f6
|
||||
ld f8, 8(r1) ; get value from M into f8
|
||||
addd f0, f0, f2 ; add to scalar in f2, result into f0
|
||||
addd f4, f4, f2 ; add to scalar in f2, result into f4
|
||||
addd f6, f6, f2 ; add to scalar in f2, result into f6
|
||||
addd f8, f8, f2 ; add to scalar in f2, result into f8
|
||||
sd 32(r1), f0 ; store result back into M
|
||||
sd 24(r1), f4 ; store result back into M
|
||||
sd 16(r1), f6 ; store result back into M
|
||||
sd 8(r1), f8 ; store result back into M
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
trap #0
|
12
cs672/ILP-6.s
Normal file
12
cs672/ILP-6.s
Normal file
@ -0,0 +1,12 @@
|
||||
addi r1, r0, #32 ; initialize loop counter
|
||||
Loop:
|
||||
ld f0, 0(r1) ; get value from M into f0
|
||||
subi r1, r1, #8 ; decrement array pointer
|
||||
addd f4, f0, f2 ; add to scalar in f2, result into f4
|
||||
bnez r1, Loop ; branch if not done
|
||||
sd 8(r1), f4 ; store result back into M
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
trap #0
|
22
cs672/ILP-9.s
Normal file
22
cs672/ILP-9.s
Normal file
@ -0,0 +1,22 @@
|
||||
addi r1, r0, #32 ; initialize loop counter
|
||||
ld f0, 0(r1) ; get value from M into f0
|
||||
addd f4, f0, f2 ; add to scalar in f2, result into f4
|
||||
sd 0(r1), f4 ; store result back into M
|
||||
subi r1, r1, #8 ; decrement array pointer
|
||||
ld f0, 0(r1) ; get value from M into f0
|
||||
addd f4, f0, f2 ; add to scalar in f2, result into f4
|
||||
sd 0(r1), f4 ; store result back into M
|
||||
subi r1, r1, #8 ; decrement array pointer
|
||||
ld f0, 0(r1) ; get value from M into f0
|
||||
addd f4, f0, f2 ; add to scalar in f2, result into f4
|
||||
sd 0(r1), f4 ; store result back into M
|
||||
subi r1, r1, #8 ; decrement array pointer
|
||||
ld f0, 0(r1) ; get value from M into f0
|
||||
addd f4, f0, f2 ; add to scalar in f2, result into f4
|
||||
sd 0(r1), f4 ; store result back into M
|
||||
subi r1, r1, #8 ; decrement array pointer
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
trap #0
|
BIN
cs672/ilp.odt
Normal file
BIN
cs672/ilp.odt
Normal file
Binary file not shown.
17
cs672/lab2-13.s
Normal file
17
cs672/lab2-13.s
Normal file
@ -0,0 +1,17 @@
|
||||
add r4, r0, r0 ; clear R4 = 0
|
||||
add r5, r0, r0 ; clear R5 = 0
|
||||
|
||||
addi r1, r0, 5 ; set R1 (loop counter) = 5
|
||||
|
||||
LOOP: subi r1, r1, 1 ; decrement R1
|
||||
addi r4, r4, 2 ; R4 = R4 + 2
|
||||
bnez r1, LOOP ; if (r1 != 0), goto LOOP
|
||||
addi r5, r5, 10 ; R5 = R5 + 10
|
||||
|
||||
add r6, r4, r5 ; R6 = R4 + R5
|
||||
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
trap #0
|
Loading…
x
Reference in New Issue
Block a user