-1 2 chuj dupa 2024-06-16 16:15:32
click to edit code
Bruuuuuuuh dude what is this shit
                        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