# LAB 6
## Name - Aman Anand
## Roll No:CS22B054
### C program:
``code``
#include<stdio.h>
int main(){
int A[100];
for(int i=0;i<100;i++){
A[i]=1;
}
int sum=0;
for(int i=0;i<100;i++){
sum+=A[i];
}
return 0;
}
### Assembly Code Without Optimisation:
.file "hundered.c"
.option nopic
.attribute arch, "rv32i2p1"
.attribute unaligned_access, 0
.attribute stack_align, 16
.text
.align 2
.globl main
.type main, @function
main:
addi sp,sp,-432
sw s0,428(sp)
addi s0,sp,432
sw zero,-20(s0)
j .L2
.L3:
lw a5,-20(s0)
slli a5,a5,2
addi a5,a5,-16
add a5,a5,s0
li a4,1
sw a4,-412(a5)
lw a5,-20(s0)
addi a5,a5,1
sw a5,-20(s0)
.L2:
lw a4,-20(s0)
li a5,99
ble a4,a5,.L3
sw zero,-24(s0)
sw zero,-28(s0)
j .L4
.L5:
lw a5,-28(s0)
slli a5,a5,2
addi a5,a5,-16
add a5,a5,s0
lw a5,-412(a5)
lw a4,-24(s0)
add a5,a4,a5
sw a5,-24(s0)
lw a5,-28(s0)
addi a5,a5,1
sw a5,-28(s0)
.L4:
lw a4,-28(s0)
li a5,99
ble a4,a5,.L5
li a5,0
mv a0,a5
lw s0,428(sp)
addi sp,sp,432
jr ra
.size main, .-main
.ident "GCC: (xPack GNU RISC-V Embedded GCC x86_64) 13.2.0"
SIZE:825bytes
Contents:
text-8756
data-1372
bss-840
dec-10968
hex-2ad8
filename-hundered.elf
### Assembly code for o0 :
.file "hundered.c"
.option nopic
.attribute arch, "rv32i2p1"
.attribute unaligned_access, 0
.attribute stack_align, 16
.text
.align 2
.globl main
.type main, @function
main:
addi sp,sp,-432
sw s0,428(sp)
addi s0,sp,432
sw zero,-20(s0)
j .L2
.L3:
lw a5,-20(s0)
slli a5,a5,2
addi a5,a5,-16
add a5,a5,s0
li a4,1
sw a4,-412(a5)
lw a5,-20(s0)
addi a5,a5,1
sw a5,-20(s0)
.L2:
lw a4,-20(s0)
li a5,99
ble a4,a5,.L3
sw zero,-24(s0)
sw zero,-28(s0)
j .L4
.L5:
lw a5,-28(s0)
slli a5,a5,2
addi a5,a5,-16
add a5,a5,s0
lw a5,-412(a5)
lw a4,-24(s0)
add a5,a4,a5
sw a5,-24(s0)
lw a5,-28(s0)
addi a5,a5,1
sw a5,-28(s0)
.L4:
lw a4,-28(s0)
li a5,99
ble a4,a5,.L5
li a5,0
mv a0,a5
lw s0,428(sp)
addi sp,sp,432
jr ra
.size main, .-main
.ident "GCC: (xPack GNU RISC-V Embedded GCC x86_64) 13.2.0"
SIZE:825bytes
Contents:
text-8756
data-1372
bss-840
dec-10968
hex-2ad8
filename-hundered_o0.elf
### Assembly code for o1:
.file "hundered.c"
.option nopic
.attribute arch, "rv32i2p1"
.attribute unaligned_access, 0
.attribute stack_align, 16
.text
.align 2
.globl main
.type main, @function
main:
li a5,100
.L2:
addi a5,a5,-1
bne a5,zero,.L2
li a5,100
.L3:
addi a5,a5,-1
bne a5,zero,.L3
li a0,0
ret
.size main, .-main
.ident "GCC: (xPack GNU RISC-V Embedded GCC x86_64) 13.2.0"
SIZE:374bytes
Contents:
text-8632
data-1372
bss-840
dec-10844
hex-2a5c
filename-hundered_o1.elf
### Assembly code for o2 :
.file "hundered.c"
.option nopic
.attribute arch, "rv32i2p1"
.attribute unaligned_access, 0
.attribute stack_align, 16
.text
.section .text.startup,"ax",@progbits
.align 2
.globl main
.type main, @function
main:
li a0,0
ret
.size main, .-main
.ident "GCC: (xPack GNU RISC-V Embedded GCC x86_64) 13.2.0"
SIZE:317bytes
Content:
text-8608
data-1372
bss-840
dec-10820
hex-2a44
filename-hundered_o2.elf
### Assembly code for o3 :
.file "hundered.c"
.option nopic
.attribute arch, "rv32i2p1"
.attribute unaligned_access, 0
.attribute stack_align, 16
.text
.section .text.startup,"ax",@progbits
.align 2
.globl main
.type main, @function
main:
li a0,0
ret
.size main, .-main
.ident "GCC: (xPack GNU RISC-V Embedded GCC x86_64) 13.2.0"
SIZE:317bytes
Content:
text-8608
data-1372
bss-840
dec-10820
hex-2a44
filename-hundered_o3.elf
### Assembly code for os :
.file "hundered.c"
.option nopic
.attribute arch, "rv32i2p1"
.attribute unaligned_access, 0
.attribute stack_align, 16
.text
.section .text.startup,"ax",@progbits
.align 2
.globl main
.type main, @function
main:
li a0,0
ret
.size main, .-main
.ident "GCC: (xPack GNU RISC-V Embedded GCC x86_64) 13.2.0"
SIZE:317bytes
Content:
text-8608
data-1372
bss-840
dec-10820
hex-2a44
filename-hundered_os.elf
### Assembly code for ofast :
.file "hundered.c"
.option nopic
.attribute arch, "rv32i2p1"
.attribute unaligned_access, 0
.attribute stack_align, 16
.text
.section .text.startup,"ax",@progbits
.align 2
.globl main
.type main, @function
main:
li a0,0
ret
.size main, .-main
.ident "GCC: (xPack GNU RISC-V Embedded GCC x86_64) 13.2.0"
SIZE:317bytes
Content:
text-8608
data-1372
bss-840
dec-10820
hex-2a44
filename-hundered_ofast.elf