можешь/не можешь, эт все от твеого уровня подготовки зависит
изучи сначала 32 битный режим
dosbox 16-битная?
Можно сразу на 64. Просто надо понимать, что примеры кода есть для разных архитектур, и что надо выбирать подходящие или вносить изменения.
а как можно перейти на 64 что для этого учить то нужно?
ПРОЧИТАТЬ МАНУАЛ
найти не могу
Прочитать описание команд процессора, вызовов ОС и директив компилятора. Посмотреть их использование в примерах.
покажи скрин содержимого архива с fasm
Вот пример программы на 64 разряда для Linux format ELF64 executable 3 SYS_WRITE equ 1 SYS_EXIT equ 60 STDOUT equ 1 entry start segment readable executable start: ; syscall(SYS_WRITE, STDOUT, hello, hello_len); mov rax, SYS_WRITE mov rdi, STDOUT mov rsi, hello mov rdx, hello_len syscall push rax ; syscall(SYS_EXIT, <sys_write return value> - hello_len); mov rax, SYS_EXIT pop rdi sub rdi, hello_len syscall segment readable writeable hello db "Hello World!", 10 ; char * hello_len = $-hello ; size_t компилировать можно так: fasm test.asm а дальше наполнять эту основу можно чем угодно.
А вот пример 32-битного фасма для окошек: ; example of simplified Windows programming using complex macro features include 'win32ax.inc' ; you can simply switch between win32ax, win32wx, win64ax and win64wx here .code start: invoke MessageBox,HWND_DESKTOP,"Hi! I'm the example program!","Hello!",MB_OK invoke ExitProcess,0 .end start
Обсуждают сегодня