Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- format PE64 console ;специальный формат исполнимых файлов для Windows — формат PE (Portable Executable)
- ; w в win64wx.inc означает что будут использоваться юникодные версии функций WinAPI(например, WriteConsoleW вместо WriteConsoleA)
- include 'C:\FASM\INCLUDE\WIN64A.INC'
- entry start
- section '.text' code executable ; сегмент кода
- ; метка старт в которую мы и прыгаем при запуске
- start:
- call input
- call next_iter
- next_iter:
- cmp eax, ebx
- ja close
- jb next
- close:
- ret
- invoke ExitProcess,0 ; при нажатии выходим из программи
- next:
- cinvoke printf,message ; Выводим сообщение
- ; invoke getch ожидаем нажатие любой клавиши
- inc eax
- call next_iter
- input:
- cinvoke printf, m1
- cinvoke scanf, message
- cinvoke printf, 0xA
- ; сегмент данных
- section '.rdata' data readable
- m1 db 'Input message: ',13,10,0
- mov eax, 0
- mov ebx, 5
- message db 0xA ; указываем нашу переменную с сообщением
- nextline db 0xA ; пустая строка
- hmm db 'hmm' ; еще строка
- ; в этом сегменте просто импортируем билиоткеи
- section '.idata' data readable import
- library kernel32, 'kernel32.dll', \
- msvcrt, 'msvcrt.dll'
- import kernel32, ExitProcess, 'ExitProcess'
- import msvcrt, printf, 'printf', \
- scanf, 'scanf', \
- getch, '_getch'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement