21

Re: З чого почати вчити assembler

ігри пишуться на плюсах + скриптові имови

22

Re: З чого почати вчити assembler

ur_naz написав:

навіщо взагалі вивчати асемблер?

Я певен, що ви цілком спроможні самостійно наґуґлити, як саме використовується асемблер.

23

Re: З чого почати вчити assembler

підкажіть, які є безкоштовні середовища розробки для насм та для компілятора арм, на віндовс?

24

Re: З чого почати вчити assembler

Послуговуйтеся FAR`ом та пакетними файлами.

25

Re: З чого почати вчити assembler

скачав поки що тільки насм. скопіпастив код хело ворлд у блокнот і зберігши перейменував тхт на асм. потім у консолі насма прописав шлях до цього файла, жмакаю ентер і далі щось йде не так, пише з повторами: ... is not recognized as an internal or external command, operable program or batch file.
що не правильно?

26

Re: З чого почати вчити assembler

Ви неправильно вказали шлях до nasm

Подякували: leofun011

27

Re: З чого почати вчити assembler

htoznasho написав:

потім у консолі насма

У насма немає консолі, наскільки я знаю.

28

Re: З чого почати вчити assembler

0xDADA11C7 написав:

Ви неправильно вказали шлях до nasm

у системих змінних, у PATH додав ще одну, шлях правильний вказав.

0xDADA11C7 написав:
htoznasho написав:

потім у консолі насма

У насма немає консолі, наскільки я знаю.

не впевнений, але окрім того, що схоже на консоль, нічого немає більше. а як має бути?

29

Re: З чого почати вчити assembler

Спробуйте повний шлях вказувати замість застосування PATH змінної. Не забувайте, що шляхи з пробілом пишуться у подвійних лапках.

30

Re: З чого почати вчити assembler

0xDADA11C7 написав:

Спробуйте повний шлях вказувати замість застосування PATH змінної. Не забувайте, що шляхи з пробілом пишуться у подвійних лапках.

Ви маєте на увазі повний шлях- це шлях до .ехе? бо я вказав тільки до папки, де він знаходиться.

31

Re: З чого почати вчити assembler

Ну так, коли запускаєш компілер, варто вказати повний шлях до EXE. Це для змінної PATH треба тільки шлях до теки. Я б на вашому місці б створив пакетний файл compile.cmd, та звідтіля б запускав компілер nasm.

Подякували: htoznasho, leofun012

32

Re: З чого почати вчити assembler

# будуть помилки то видалити коментарі
@set path=E:\dir\nasmpath;%path% # замініть на свій шлях до папки
@%comspec% 

Збережіть в бат і буде вам консоль

33

Re: З чого почати вчити assembler

0xDADA11C7 написав:

Я б на вашому місці б створив пакетний файл compile.cmd, та звідтіля б запускав компілер nasm.

compile.cmd- у мене не працює, пише, що ця програма не може виконуватися на мому пк. Там з насмом скачався мануал. Як я зрозумів з нього, то воно не так працює як я думав, а як саме ще не догнав. У тій "консолі" потрібно прописати команди, щоб почався якійсь рух. Наприклад,

D:\programs\nasm>nasm -f win64 hello.asm

, жмакаю на ентер і знову зявляється

D:\programs\nasm>

Але, у папці тепер зявився файл hello.obj
Я вибрав формат він64, не знаю чи вірно. Хоча б тепер відомо, що шлях вірно прописаний. Але, далі робити з тим obj?

reverse2500 написав:
# будуть помилки то видалити коментарі
@set path=E:\dir\nasmpath;%path% # замініть на свій шлях до папки
@%comspec% 

Збережіть в бат і буде вам консоль

не зрозумів. "консоль" здається і так працює?

34

Re: З чого почати вчити assembler

htoznasho написав:

Я вибрав формат він64, не знаю чи вірно. Хоча б тепер відомо, що шлях вірно прописаний. Але, далі робити з тим obj?

Лінкувати лінкером в EXE

35

Re: З чого почати вчити assembler

0xDADA11C7 написав:
htoznasho написав:

Я вибрав формат він64, не знаю чи вірно. Хоча б тепер відомо, що шлях вірно прописаний. Але, далі робити з тим obj?

Лінкувати лінкером

Вперше чую про таке, але хіба не можна запустити хело ворлд силами одного асемблера, що необхідно звертатися за допомогою до іншої програми?

36

Re: З чого почати вчити assembler

Значить ви в перший раз чуєте про компіляцію взагалі.

htoznasho написав:

Вперше чую про таке, але хіба не можна запустити хело ворлд силами одного асемблера, що необхідно звертатися за допомогою до іншої програми?

Хто ж вам лікар, що ви обрали асемблер чи обрали файловий формат, який потребує для перетворення на виконуваний файл ще стадію лінкування?
Беріть FASM - він може, за потреби(йому треба прямо про те сказати), компілювати джерельний код одразу в EXE.

37

Re: З чого почати вчити assembler

0xDADA11C7 написав:

обрали асемблер чи обрали файловий формат, який потребує для перетворення на виконуваний файл ще стадію лінкування?

чи є серед цих форматів такий, який не потребує лінкування?

    -f format     select output file format
       bin                  Flat raw binary (MS-DOS, embedded, ...) [default]
       ith                  Intel Hex encoded flat binary
       srec                 Motorola S-records encoded flat binary
       aout                 Linux a.out
       aoutb                NetBSD/FreeBSD a.out
       coff                 COFF (i386) (DJGPP, some Unix variants)
       elf32                ELF32 (i386) (Linux, most Unix variants)
       elf64                ELF64 (x86-64) (Linux, most Unix variants)
       elfx32               ELFx32 (ELF32 for x86-64) (Linux)
       as86                 as86 (bin86/dev86 toolchain)
       obj                  Intel/Microsoft OMF (MS-DOS, OS/2, Win16)
       win32                Microsoft extended COFF for Win32 (i386)
       win64                Microsoft extended COFF for Win64 (x86-64)
       ieee                 IEEE-695 (LADsoft variant) object file format
       macho32              Mach-O i386 (Mach, including MacOS X and variants)
       macho64              Mach-O x86-64 (Mach, including MacOS X and variants)
       dbg                  Trace of all info passed to output stage
       elf                  Legacy alias for "elf32"
       macho                Legacy alias for "macho32"
       win                  Legacy alias for "win32"

38

Re: З чого почати вчити assembler

Є
За допомогою формата bin ви можете створювати com файли, які запускатимуться на MS DOS. Щоправда це для 16-бітного коду.
aout, aoutb теж створюють виконувані файли, але для Linux, NetBSD, FreeBSD

39

Re: З чого почати вчити assembler

0xDADA11C7 написав:

Є
За допомогою формата bin ви можете створювати com файли, які запускатимуться на MS DOS. Щоправда це для 16-бітного коду.
aout, aoutb теж створюють виконувані файли, але для Linux, NetBSD, FreeBSD

у мене віндовс, x86-64. Вже перепробував ті формати, тільки він64 працює. по іншим- помилки, наприклад:
hello.asm:5: error: instruction not supported in 16-bit mode.
Який лінкер підійде для насма?

40

Re: З чого почати вчити assembler

htoznasho написав:

у мене віндовс, x86-64. Вже перепробував ті формати, тільки він64 працює. по іншим- помилки, наприклад:

Звісно, джерельний код (якого ви тут не показали) розрахований на x86-64.

htoznasho написав:

Який лінкер підійде для насма?

Не для насма, а для Microsoft extended COFF for Win64 (x86-64)
GoLink polink

Подякували: htoznasho1