Язык Ассемблера SPARC/Read from STDIN 2
Чтение строк с помощью scanf
править.section ".data"
prompt: .asciz "\nВведите Ваше имя: "
format_in: .asciz "%s"
format_out: .asciz "Ваше имя:%s\n"
_buf: .asciz " "
.align 4
.section ".text"
.global main
main:
save %sp, -96, %sp
! Напечатать prompt
set prompt, %o0 ! поместить адрес prompt в %o0
call printf
nop
set format_in, %o0 ! поместить адрес format_in в %o0
set _buf, %o1 ! куда будет записываться
call scanf
nop
set format_out, %o0 ! поместить адрес format_out в %o0
set _buf, %o1 ! читать из буфера
call printf
nop
! выход из программы
mov 1, %g1 ! move 1(exit() syscall) into %g1
mov 0, %o0 ! move 0(return address) into %o0
ta 8 ! вызов системы
Программа выводит подсказку (prompt), ожидает ввода имени пользователя и выводит введённое имя.