click to edit code
extern SDL_Init
extern SDL_CreateWindow
extern SDL_PollEvent
section .text
Start: ;начало проги(название получено методом удара своего еблета об стенку)
sub rsp,32+8; это для параметров функции
call SDL_Init ; инит
mov rcx, name;название окна
mov rdx, 100;координаты
mov r8, 100;координаты
mov r9, w;запихиваем поинтер на широту в регистр
mov r9, [r9];конвертируем поинтер на широту в собственно широту
push 0;В душе не ебу нахуй это нужно блять, но без этого не работает
mov rax, h;Короче если функция с больше чем 5 аргументами то это жёсткая ебля в очелло
mov rax, [rax]
push rax;
push 0;В душе не ебу нахуй это нужно блять, но без этого не работает
push 0;В душе не ебу нахуй это нужно блять, но без этого не работает
push 0;В душе не ебу нахуй это нужно блять, но без этого не работает
push 0;В душе не ебу нахуй это нужно блять, но без этого не работает
call SDL_CreateWindow;Наконец-то вызываем функцию
cock:
mov rcx, event;Делаем поинтер на ивент
call SDL_PollEvent;Вызываем ивент
mov ecx, [event];Чекаем чё за ивент
mov edx, 256;Выход с программы
cmp ecx, edx;Сравниваем не пора ли съёбывать
jne cock;Если не пора то прыгаем обратер
add rsp,32+8 ;Чиним стак
section .data
name: db "Chuj asemblerowy",0
w: dd 800
h: dd 600
event: times 1000 db 0