Язык Ассемблера SPARC/Hello World 1: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Новая страница: «==Пример 1: Вывод "Hello World!"== <source lang="asm"> .section ".data" hello: .asciz "Hello World!\n" .section ".text" .align 4 .global main main: sa...»
(нет различий)

Версия от 00:49, 26 августа 2009

Пример 1: Вывод "Hello World!"

.section ".data"
hello:	.asciz "Hello World!\n"

.section ".text"

.align	4
.global	main

main:
save	%sp, -96, %sp	! выделяем память

mov	4, %g1	! 4 = WRITE (системный вызов)
mov	1, %o0	! 1 = STDOUT
set	hello, %o1
mov	14, %o2	! количество символов
ta	8	! вызов системы

! выход из программы
mov	1, %g1	! move 1(exit() syscall) into %g1
mov	0, %o0	! move 0(return address) into %o0
ta	8	! вызов системы

В этом примере используется системный вызов ta 8 для вывода символов и при выходе из программы.

Также для вывода строк можно использовать системную функцию printf.