Язык Ассемблера SPARC/Read from STDIN 2: различия между версиями
Содержимое удалено Содержимое добавлено
Ashikbot (обсуждение | вклад) м Категоризация по запросу на w:ВП:РДБ |
Oleg4280 (обсуждение | вклад) {{BookCat}} |
||
Строка 37: | Строка 37: | ||
Программа выводит подсказку (prompt), ожидает ввода имени пользователя и выводит введённое имя. |
Программа выводит подсказку (prompt), ожидает ввода имени пользователя и выводит введённое имя. |
||
[[Категория:Язык Ассемблера SPARC|Read from STDIN 2]] |
|||
{{BookCat}} |
Версия от 19:11, 29 июня 2014
Чтение строк с помощью 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), ожидает ввода имени пользователя и выводит введённое имя.