728x90
SMALL
.section ".data"
a: .double 0r5.0
b: .double 0r9.0
c: .double 0r32.0
.section ".text"
fmtp1: .asciz "화씨온도를 입력하시오: "
fmts: .asciz "%lf"
fmtp2: .asciz "섭씨온도는 %f입니다.\n"
.align 4
.global main, printf, scanf
main: save %sp, -(92+8)&-8, %sp
set fmtp1, %o0
call printf
nop
set fmts, %o0
add %fp, -8, %o1
call scanf
nop
ld [%fp-8], %o0
ld [%fp-4], %o1
call ftoc
nop
st %f0, [%fp-16]
st %f1, [%fp-12]
set fmtp2, %o0
ld [%fp-16], %o1
ld [%fp-12], %o2
call printf
nop
mov 1, %g1
ta 0
ftoc: save %sp, -(92+8)&-8, %sp
st %i0, [%fp-8]
st %i1, [%fp-4]
ld [%fp-8], %f0
ld [%fp-4], %f1
set a, %l0 ! 5.0
set b, %l1 ! 9.0
set c, %l2 ! 32.0
ld [%l0], %f2
ld [%l0+4],%f3
ld [%l1], %f4
ld [%l1+4],%f5
ld [%l2], %f6
ld [%l2+4],%f7
fdivd %f2, %f4, %f2 ! 5.0/9.0
fsubd %f0, %f6, %f0 ! f - 32.0
fmuld %f0, %f2, %f0 ! 결과 값을 %f0 global register에 저장
ret
restore
728x90
LIST
'학교 과제' 카테고리의 다른 글
SPARC 어셈블리 언어- 최대공약수 (2) | 2022.12.02 |
---|---|
SPARC 어셈블리 언어- 윤년과 평년 (0) | 2022.12.02 |
알고리즘 분석 - 트리 (0) | 2021.11.24 |
SPARC 어셈블리 언어- 문자열 출력 (2) | 2021.10.09 |