See Below
The flow chart could work for any language. Language details are left out of the design. The chart is a structured flowchart. Here is an outline of the program:
## addIntArray.asm ## ## Sum all integers, the positive integers, ## and the negative integers in an array. ## Registers: ## $8 --- count ## $9 --- pointer to the array entry ## $10 -- current array entry ## $11 -- sum of all integers ## $12 -- sum of negative integers ## $13 -- sum of positive integers ## $14 -- pos. or neg. flag ## $15 -- SIZE of the array .text .globl main # Initialize main: ori $____,$0,0 # count = 0 ori $____,$0,0 # sum = 0 ori $____,$0,0 # neg = 0 ori $____,$0,0 # pos = 0 # while count < SIZE do loop: . . . . j loop sll $0,$0,0 # branch delay .data size: .word 17 array: .word 12, -1, 8, 0, 6, 85, -74, 23, 99, -30, 30, 95, 4, 7, 10, 28, 14 ## End of file
SPIM initializes registers to zero, but it is good practice to explicitly zero accumulators.