.file "sum.c" .option nopic .attribute arch, "rv64i2p0" .attribute unaligned_access, 0 .attribute stack_align, 16 .text .globl n .section .sdata,"aw" .align 2 .type n, @object .size n, 4 n: .word 100 .section .rodata .align 3 .LC0: .string "Sum 1 to %d is %d\n" .text .align 2 .globl main .type main, @function main: addi sp,sp,-48 sd ra,40(sp) sd s0,32(sp) addi s0,sp,48 mv a5,a0 sd a1,-48(s0) sw a5,-36(s0) lui a5,%hi(n) lw a5,%lo(n)(a5) sw a5,-28(s0) sw zero,-24(s0) li a5,1 sw a5,-20(s0) j .L2 .L3: lw a5,-24(s0) mv a4,a5 lw a5,-20(s0) addw a5,a4,a5 sw a5,-24(s0) lw a5,-20(s0) addiw a5,a5,1 sw a5,-20(s0) .L2: lw a5,-20(s0) mv a4,a5 lw a5,-28(s0) sext.w a4,a4 sext.w a5,a5 ble a4,a5,.L3 lui a5,%hi(n) lw a5,%lo(n)(a5) lw a4,-24(s0) mv a2,a4 mv a1,a5 lui a5,%hi(.LC0) addi a0,a5,%lo(.LC0) call printf li a5,0 mv a0,a5 ld ra,40(sp) ld s0,32(sp) addi sp,sp,48 jr ra .size main, .-main .ident "GCC: (GNU) 11.1.0"