global _start
sys_exit equ 1 ; man7.org/linux/man-pages/man2/exit.2.html
sys_write equ 4 ; man7.org/linux/man-pages/man2/write.2.html
; man7.org/linux/man-pages/man3/stdin.3.html
STDIN_FILENO equ 0
STDOUT_FILENO equ 1
STDERR_FILENO equ 2
section .data
sHello:
db 'Hello 410chan =3', 0x0a
sHelloE:
section .text
_start:
mov eax, sys_write ; write(int fd, const void *buf, size_t count);
mov ebx, STDOUT_FILENO ; fd, файл для записи. В данном случае - стандартный вывод
mov ecx, sHello ; адрес строки в памяти
mov edx, sHelloE-sHello ; количество символов для вывода
int 0x80
exit:
mov eax, sys_exit ; _exit(int status);
mov ebx,0 ; status, код ошибки передаваемый в систему при выходе
int 0x80
Z2xvYmFsIF9zdGFydAoKc3lzX2V4aXQJZXF1IDEJOyBtYW43Lm9yZy9saW51eC9tYW4tcGFnZXMvbWFuMi9leGl0LjIuaHRtbApzeXNfd3JpdGUJZXF1IDQJOyBtYW43Lm9yZy9saW51eC9tYW4tcGFnZXMvbWFuMi93cml0ZS4yLmh0bWwJCgo7IG1hbjcub3JnL2xpbnV4L21hbi1wYWdlcy9tYW4zL3N0ZGluLjMuaHRtbApTVERJTl9GSUxFTk8JZXF1IDAKU1RET1VUX0ZJTEVOTwllcXUgMQpTVERFUlJfRklMRU5PCWVxdSAyCQoKc2VjdGlvbiAuZGF0YQogIHNIZWxsbzoKCWRiICdIZWxsbyA0MTBjaGFuID0zJywgMHgwYQogIHNIZWxsb0U6CgpzZWN0aW9uIC50ZXh0Cl9zdGFydDoKCW1vdiAJZWF4LCBzeXNfd3JpdGUJCTsgd3JpdGUoaW50IGZkLCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBjb3VudCk7Cgltb3YgCWVieCwgU1RET1VUX0ZJTEVOTwk7IGZkLCDRhNCw0LnQuyDQtNC70Y8g0LfQsNC/0LjRgdC4LiDQkiDQtNCw0L3QvdC+0Lwg0YHQu9GD0YfQsNC1IC0g0YHRgtCw0L3QtNCw0YDRgtC90YvQuSDQstGL0LLQvtC0Cgltb3YgCWVjeCwgc0hlbGxvCQkJOyDQsNC00YDQtdGBINGB0YLRgNC+0LrQuCDQsiDQv9Cw0LzRj9GC0LgKCW1vdiAJZWR4LCBzSGVsbG9FLXNIZWxsbwk7INC60L7Qu9C40YfQtdGB0YLQstC+INGB0LjQvNCy0L7Qu9C+0LIg0LTQu9GPINCy0YvQstC+0LTQsAoJaW50IAkweDgwCgpleGl0OgoJbW92CQllYXgsIHN5c19leGl0CQk7IF9leGl0KGludCBzdGF0dXMpOwoJbW92IAllYngsMAkJCQk7IHN0YXR1cywg0LrQvtC0INC+0YjQuNCx0LrQuCDQv9C10YDQtdC00LDQstCw0LXQvNGL0Lkg0LIg0YHQuNGB0YLQtdC80YMg0L/RgNC4INCy0YvRhdC+0LTQtQoJaW50CQkweDgwCg==