Язык Ассемблера SPARC/Read from STDIN 2: различия между версиями
Содержимое удалено Содержимое добавлено
Jsg08 (обсуждение | вклад) Новая страница: «==Чтение строк с помощью scanf== <source lang="asm"> .section ".data" prompt: .asciz "\nВведите Ваше имя: " format_in: .asciz "%s" ...» |
(нет различий)
|
Версия от 14:53, 26 августа 2009
Чтение строк с помощью 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), ожидает ввода имени пользователя и выводит введённое имя.