"Hello, World!" на ассемблере

Ничего нового не скажу, просто хотелось бы опубликовать простое упражнение, которое выполняли сегодня на курсах: набрать в текстовом редакторе исходник на ассемблере по образцу и откомпилировать. Всё это в среде Linux.

section	.text
    global _start	;декларируется для линкера (ld)

_start:			;точка входа

	mov	edx,len	;длина выводимого сообщения ("Hello, World!")
	mov	ecx,msg	;указатель на сообщение
	mov	ebx,1	;файловый дескриптор (stdout - это тоже какбэ файл)
	mov	eax,4	;номер системного вызова (sys_write)
	int	0x80	;обращаемся к ядру
	mov	eax,1	;номер системного вызова (sys_exit)
	int	0x80	;обращаемся к ядру

section	.data

msg	db	'Hello, world!',0xa	;выводимая на экран строка как массив байт
len	equ	$ - msg			;ее длина (вычисляется в момент компиляции)


Компилируем, линкуем, запускаем:

$ nasm -f elf hello.asm		# эта команда создаст файл hello.o - объектный файл в формате ELF
$ ld -s -o hello hello.o	# эта команда сформирует исполняемый файл
$ ./hello


Источник.