30 lines
1.2 KiB
Plaintext
30 lines
1.2 KiB
Plaintext
.текст
|
||
.глобал _start
|
||
|
||
_start:
|
||
; Вызов функции с двумя аргументами
|
||
переместить_имм рдиай, 10 ; первый аргумент = 10
|
||
переместить_имм рсиай, 20 ; второй аргумент = 20
|
||
вызвать сложить_два_числа
|
||
|
||
; Результат в RAX — используем как код возврата
|
||
переместить рдиай, раикс ; первый аргумент sys_exit = результат
|
||
переместить_имм раикс, 60 ; sys_exit
|
||
вызов_системы
|
||
|
||
сложить_два_числа:
|
||
; Пролог
|
||
втолкнуть рбипи
|
||
переместить рбипи, рсипи
|
||
|
||
; Тело функции: сложить аргументы
|
||
прибавить рдиай, рсиай ; RDI += RSI
|
||
переместить раикс, рдиай ; результат в RAX
|
||
|
||
; Эпилог
|
||
переместить рсипи, рбипи
|
||
вытолкнуть рбипи
|
||
вернуться
|
||
|
||
.данные
|
||
тестовая_переменная: .байт 0 |