-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcode.asm
More file actions
51 lines (43 loc) · 1.71 KB
/
code.asm
File metadata and controls
51 lines (43 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
add $s1, $zero, $zero #i
addi $s6, $zero, 268500992 #data için ayrılan memorynin başlagıç adresinin deximal hali
addi $s5, $zero, 12 #12 den küçük mü diye kontrol etmek için
add $s2, $zero, $zero # j
addi $s4, $zero, 14 #14 den küçük mü diye kontrol etmek için
addi $t8, $zero, 1
add $t7, $zero, $zero
sw $t8, 0($s6)# numbers[0] = 1
sw $t8, 4($s6)# numbers[1] = 1
addi $s3, $zero, 2 # k=2
ini:
slt $t5 $s3, $s4 # if k <14 then t5 = 1
beq $t5, $zero, while # t5 0 a eşitse yani k >= 14 ise while geç
sll $t6, $s3, 2 # k*4
add $t6, $t6, $s6 #base of numbers a 4*k yı ekle oradki elemana ulaşma yani
sw $t7, 0($t6) # numbers arayindeki diğer elemanları 0 yapma
addi $s3, $s3, 1 # k++
j ini
while:
slt $s7, $s1, $s5 # if i <12 then s7 = 1
beq $s7, $zero, loop # s7 0 a eşitse yani i >= 12 ise loopa geç
sll $t1, $s1, 2 # i*4
add $t9, $t1, $s6 #base of numbers a 4*i yı ekle oradki elemana ulaşma yani
lw $t0, 0($t9) # numbers[i] yi t0 a yükle
addi $t9, $t9,4 #number [i] nin memory adresini 4 arttırarak numbers [i+1] i elde ettik.
lw $t2, 0($t9)# numbers[i+1] i t2 ye yükle
addi $t9, $t9,4 #number [i+1] in memory adresini 4 arttırarak numbers [i+2] yi elde ettik.
add $t4, $t0, $t2 #number [i] ve number [i+1] i toplayıp t4 e yükledik
sw $t4, 0($t9) # t4 ün içeriğini t9 yani numbers [i+2] ye attık.
addi $s1, $s1, 1 #i++
j while
loop:
slt $t9, $s2, $s4 # if j <14 then t9 = 1
beq $t9, $zero, exit # t9 0 a eşitse yani j >= 14 ise exite geç
sll $t5, $s2, 2 # j*4
add $t9, $t5, $s6 #base of numbers a 4*j yı ekle oradki elemana ulaşma yani numbers[j]
lw $t6, 0($t9) #numbers[j] i t6 ya yükle
li $v0,1# yazdıma işlemleri için
add $a0,$t6,$zero # yazdıma işlemleri için
syscall # yazdıma işlemleri için
addi $s2, $s2, 1 #j++
j loop
exit: