Jakie środowisko do programowania w asm?

0

Jakie środowisko najlepiej użyć by zacząć programowanie w asm pod windows? Tak żeby nie było problemów, tylko na końcu powstawał ładny exe.

0

pytanie w jakim nie możesz tego zrobić.. Pisałeś już w jakimś języku, masz już wybrane jakieś IDE, nie koniecznie do ASMa?

0

ja bym polecił ci na początek nasma bo ma chyba najprostszą składnię + zwykły notepad++. Programy będziesz kompilował z konsoli a linkować będziesz np linkierem "ld" z pakietu gcc. Trochę z tym zabawy, ale jak już chcesz zaczynać zabawę z asmem to musisz potrafić po "hakiersku" z czarnej konsoli kompilować programy ;)

0

Mozesz uzyc Inline assembly naprzyklad z Visual Studio. Dosc dobre jak na poczatek do nauki. A jesli chcesz trudniej to NASM/FASM/MASM + GCC i notepad++.

0

Głównie w C++ -> Code::Blocks i Visual
Poza tym m.in. w Java, gdzie na początku właśnie (zanim wziąłem się za NetBeans) pisałem w Notepad++ i "kompilowałem&uruchamiałem" w konsoli.

0

Masm32 ma rozbudowany system przykładów wraz ze środowiskiem i pewnymi narzędziami - nie jest to jakiś majstersztyk ale zawsze coś.

0

Ja polecam FASM i jego wbudowany edytor FASMW.EXE ;]
Sam kodziłem na nim parę lat.

0

Nie wiem co jest obecnie jest na topie ale swego czasu używałem RadASM (akurat ja używałem do MASM32 ale można do czego się chce byle by miało kompilator obsługujący linię komend :D)

0

Jeszcze nikt nie zaproponował NASM, więc ja polecę (bo ma najładniejszą... bo jego składnia mi się najbardziej podoba). Poza tym to nie ma znaczenia, byle nie wybrać na przykład Tasm.

Jeśli chodzi o to w czym pisać, to na początku IMO najlepiej pisać w vim/emacs/notepad++/sublime text/whatever i kompilować własnoręcznie (a lepiej, za pomocą jakiegoś make).

Jakiś prosty przykład kodu (tak, dużo więcej tu róznych dyrektyw niż samego kodu - w normalnych programach jest pod tym względem dużo lepiej zazwyczaj):

import puts msvcrt.dll
extern puts

global main

section .data use32
message db "Hello World", 0

section .code use32
main:
	push dword message
	call [puts]
	add esp, 4
	
	xor eax, eax
ret

Przekształcanie w .exe:

nasm -f obj hello.asm
alink -c -entry main -oPE -subsys console hello.obj

(do linkowania użyłem tutaj alink, tak naprawdę można czymkolwiek).

1 użytkowników online, w tym zalogowanych: 0, gości: 1