Asembler - problem z kompilacją


(radzik radzik) #1

Witam, ucze sie Asemblera, mam programik z kodem źródłowym, zapisuje go jako plik powiedzmy msgbox.asm i teraz nie moge potworzyć tych innych i w konsekwencji pliku exe. Prosze o to krok po kroku, ale nie odsyłajcie mnie do kursów, bo z kursów to sie własnie ucze i komendy znamjakimi sie kompiluje ale nie wiem gdzie to sie robi w ogole.Prosze o pomoc? Dokładniej chodzi o to:

taki banalny programik jest zapisany w pliku msgbox.asm

.386


.MODEL FLAT, STDCALL


OPTION CASEMAP:NONE


INCLUDE \masm32\include\windows.inc

INCLUDE \masm32\include\kernel32.inc

INCLUDELIB \masm32\lib\kernel32.lib

INCLUDE \masm32\include\user32.inc

INCLUDELIB \masm32\lib\user32.lib


.DATA 


MsgBoxCaption DB "Kurs Iczeliona. Rozdział nr 2",0 

MsgBoxText DB "Asembler Win32 jest Wspaniały!",0


.CODE 


start: 

    INVOKE MessageBox, NULL, ADDR MsgBoxText, ADDR MsgBoxCaption, MB_OK 

    INVOKE ExitProcess, NULL 

END start

i poprosze teraz krok po kroku co dalej zeby uruchamiało sie to okienko w Windowsie.


(adpawl) #2

A masz zainstalowany jakiś dobry kompilator asma?

Jeżeli nie, to pobierz sobie i zainstaluj MASM32

...potem np. odpalasz qeditor.exe , dajesz File > Open (twój pliczek .asm)

Potem tylko Project > Assemble & Link...i już masz gotowego exec'a :roll:


(radzik radzik) #3

ale podobno cos tam ma byc w katalogu, tzn. ten plik asm ma byc w któryms katalogu tylko nie wiem w którym zeby to dobrze działało?????

Robie jak powyzej opisałes i nic, poprostu niemrawy jest. Nie robi nic ;/


(floyd) #4

.....\masm32\icztutes\tute02


(adpawl) #5

masma mam zainstalowanego w: c:\masm32

utworzyłem sobie plik komunikat.asm: c:\komunikat.asm i mi skompilowało, podobnie w przypadku gdy plik był w lokalizacji: c:\masm32\komunikat.asm podobnie w przypadku: c:\masm32\examples\komunikat.asm i c:\masm32\examples\test01\test\komunikat.asm

wniosek?

Plik najlepiej umieścić gdzieś w katalogu masm32**...a już do tego stworzonym wydaje się być **masm32\examples :roll:


(radzik radzik) #6

dobra popróbowałem ze wszystkich stron i nic. Coś zakłuca ale nie mam pojęcia co?? Wie ktoś, tzn.inaczej domysla sie ktos co to moze być???? Poprostu gdziekolwiek nie mam tego pliku (próbowałem na kilku plikach z programami (z kodami)) to komp jest niemrawy poprostu :frowning: ;/


(floyd) #7

Widzę, że w zależności ot tego skąd ściągneło się program to katalogi programu masm32 są rózne. W każdym bądź razie adby dokonać kompilacji np. 'msgbox.asm' potrzebny jest też w tym samym katalogu plik 'msgbox.obj'. Musisz poszukać gdzie są takie pliki.

Jeżeli znajdziesz taki katalog to kompilacji można też dokonać uruchamiając plik wsadowy: 'makeit.bat' który też znajduje się w tym katalogu.


(radzik radzik) #8

Ok rozumiem mniej wiecej, ale jak ja np. tworze sobie plik powiedzmy o nazwei "józek.asm" to gdzie mam znaleźc jakies pliki, sam go tworze, kod źródłowy. Jak wspomniałęm jak wybieram opcje Assemble&link to niemrawy jest, inaczej jak kazda z tej zakładki wybieram to jest niemrawy czy to Build All czy Run program czy cokolwiek. PROSZE POMOCY, BO MI NA TYM ZALEŻY, ŻEBY TO KOMPILOWAŁO.


(Tomasotti) #9

Proponuje sciagnac sobie IDE do MASM'a (i innych) - RadASM. Otrzymujesz srodowisko bardzo ulatwiajace zarowno kompilacje, jak i zawierajace 'szablony' programow, a takze edytor plikow .rc (tzw. resource'ow). Link: http://www.radasm.com/. Jesli bedziesz mial problemy z konfiguracja, to polecam tutorial RadASM'a: http://members.a1.net/ranmasaotome/main.html

Jesli natomiast zalezy Ci tylko na skompilowaniu tego jednego programu, to po prostu zmien sciezki do plikow .inc na pelne, na przyklad: zamiast \masm32\include\windows.inc wpisz c:\masm32\include\windows.inc itd.