Post List

[Assembly Language] 1부터 10까지의 자연수의 합 코드(SPARC)

1부터 10까지의 자연수의 합 코드


이 코드는 1+2+...+10 을 어셈블리언어(SPARC)로 구현한 코드 입니다.


1. 소스코드 : 

 L = 10
 .global main
 main:  save %sp, -96, %sp
        mov %g0, %o0              ! $o0 = 0
        mov 1, %l0                   ! $l0 = 1
 loop:  subcc %l0, L, %g0         ! l0과 L을 뺐을때의 CC 생성
        bg next_r                     ! l0이 L(즉 10)보다 크다면 next_r로 이동.
        nop
        add %o0, %l0, %o0        ! 자연수를 더해줌
        inc %l0                        ! $l0 ++
        ba loop
        nop
next_r: ret
        restore

2. 프로그램 결과 (o0 레지스터의 값): 55

댓글