diff --git a/nasm/A.asm b/nasm/A.asm new file mode 100644 index 0000000..4cc7881 --- /dev/null +++ b/nasm/A.asm @@ -0,0 +1,17 @@ +extern printf +;default rel +global main + +section .text +main: + ;int 3 + ;db 0xcc + ;lea eax, [hello] + push hello + call printf + add esp, 4 + xor eax, eax + ret + +section .data +hello db "Liberté, égalité, fraternité!", 10, 0 diff --git a/nasm/notices.md b/nasm/notices.md index 73beb20..4fa4e32 100644 --- a/nasm/notices.md +++ b/nasm/notices.md @@ -83,3 +83,5 @@ global main * ebp указывает на вершину стека * Пролог, эпилог почти обязателен * sub esp, 32 - для локальных переменных (ebp остался), размер всех локальных переменных функции, обращение к локальным переменным - с минусом от ebp +* extern printf +* res[размер] - в .bss (для массива)