Язык Ассемблера SPARC/Print Decimal
Вывод строк и чисел с помощью printf
правитьС помощью функции printf
можно выводить не только строки, но и числа. Для этого в строку необходимо добавить специальные символы:
- %d или %i - Целое со знаком в десятеричной системе счисления
- %o - Целое в восьмеричной системе
- %x или %X - Целое в шестнадцатиричной системе
- %U - Целое без знака
- %c - Character
- %s - C-String, т.е. строка, заканчивающаяся на
null
- %f - Double
- %e или %E - Double
- %g или %G - Double
- %n - Количество символов, выводимых данной функцией
При вызове функции printf
эти символы заменяются на их значения, передаваемые в регистры %o1 - %o5.
Программа, печатающая "26 августа 2009 года":
.section ".data"
date: .asciz "Date: %d %s %d %s\n"
month: .asciz "августа"
year: .asciz "года"
.section ".text"
.align 4
.global main
main:
save %sp, -96, %sp ! выделяем память
set date, %o0
mov 26, %o1
set month, %o2
mov 2009, %o3
set year, %o4
call printf
nop
! выход из программы
mov 1, %g1 ! move 1(exit() syscall) into %g1
mov 0, %o0 ! move 0(return address) into %o0
ta 8 ! вызов системы