2026-06-27 12:21:23 +03:00
|
|
|
|
.текст
|
|
|
|
|
|
.глобал _start
|
|
|
|
|
|
|
|
|
|
|
|
_start:
|
2026-06-27 14:11:25 +03:00
|
|
|
|
; Вызов функции с двумя аргументами
|
|
|
|
|
|
переместить_имм рдиай, 10 ; первый аргумент = 10
|
|
|
|
|
|
переместить_имм рсиай, 20 ; второй аргумент = 20
|
|
|
|
|
|
вызвать сложить_два_числа
|
|
|
|
|
|
|
|
|
|
|
|
; Результат в RAX — используем как код возврата
|
|
|
|
|
|
переместить рдиай, раикс ; первый аргумент sys_exit = результат
|
|
|
|
|
|
переместить_имм раикс, 60 ; sys_exit
|
2026-06-27 12:21:23 +03:00
|
|
|
|
вызов_системы
|
|
|
|
|
|
|
2026-06-27 14:11:25 +03:00
|
|
|
|
сложить_два_числа:
|
|
|
|
|
|
; Пролог
|
|
|
|
|
|
втолкнуть рбипи
|
|
|
|
|
|
переместить рбипи, рсипи
|
|
|
|
|
|
|
|
|
|
|
|
; Тело функции: сложить аргументы
|
|
|
|
|
|
прибавить рдиай, рсиай ; RDI += RSI
|
|
|
|
|
|
переместить раикс, рдиай ; результат в RAX
|
|
|
|
|
|
|
|
|
|
|
|
; Эпилог
|
|
|
|
|
|
переместить рсипи, рбипи
|
|
|
|
|
|
вытолкнуть рбипи
|
|
|
|
|
|
вернуться
|
|
|
|
|
|
|
2026-06-27 12:21:23 +03:00
|
|
|
|
.данные
|
2026-06-27 14:11:25 +03:00
|
|
|
|
тестовая_переменная: .байт 0
|