Thread View: pl.comp.lang.asm
14 messages
14 total messages
Started by "Borneq"
Wed, 11 Aug 2010 14:19
Pierwsze kroki z assemblerem
Author: "Borneq"
Date: Wed, 11 Aug 2010 14:19
Date: Wed, 11 Aug 2010 14:19
10 lines
469 bytes
469 bytes
Zastanawiam si� nad kt�rym� nasm, yasm, SB86, fasm, JWasm. Jakie s� r�nice mi�dzy nimi? Szukam przyk�ad�w, jak zacz�� np. utworzy� konsol� i u�y� funkcji z WinApi aby wypisa� co� w rodzaju printf("Hello world"). Czy g��wna funcja musi si� nazywac main? Poza tym - jak napisa� minimaln� okienkow� aplikacj� tworz�ca okno i ob�suguj�c� komunikat Paint z mo�liwo�ci� rysowania TextOut, i innynch rzeczy.
Re: Pierwsze kroki z assemblerem
Author: "Borneq"
Date: Wed, 11 Aug 2010 15:39
Date: Wed, 11 Aug 2010 15:39
15 lines
751 bytes
751 bytes
U�ytkownik "Borneq" <borneq@antyspam.hidden.pl> napisa� w wiadomo�ci news:i3u4hc$qa1$1@news.onet.pl... > Zastanawiam si� nad kt�rym� nasm, yasm, SB86, fasm, JWasm. Jakie s� > r�nice mi�dzy nimi? > Szukam przyk�ad�w, jak zacz�� np. utworzy� konsol� i u�y� funkcji z file:///C:/prog/asm/nasm/sample.shtml s� przyk�ady pod Linuksa, przyk�ady ALink sa pod Tasm, wola�bym nasm, a poza tym zawieraj� includelib "win32.lib", chcia�bym nie u�ywa� �adnych zewn�trznych bibliotek a jedynie wo�a� funkcje API Windows bezpo�rednio z DLL przez LoadLibrary (ale samo LoadLibrary jest w kernel32.dll kt�ry jest zawsze za�adowany ale jak w assemblerze wywo�a� kt�r�� jego funkcj�)
Re: Pierwsze kroki z assemblerem
Author: "Borneq"
Date: Wed, 11 Aug 2010 16:42
Date: Wed, 11 Aug 2010 16:42
15 lines
864 bytes
864 bytes
U�ytkownik "Borneq" <borneq@antyspam.hidden.pl> napisa� w wiadomo�ci news:i3u970$7hh$1@news.onet.pl... > bibliotek a jedynie wo�a� funkcje API Windows bezpo�rednio z DLL przez > LoadLibrary (ale samo LoadLibrary jest w kernel32.dll kt�ry jest zawsze > za�adowany ale jak w assemblerze wywo�a� kt�r�� jego funkcj�) Znalaz�em http://sourceforge.net/projects/nasmx/ i uda�o si� skompilowa� przyk�ad z funkcjami z DLL:ExitProcess i MessageBoxA. Ale jednak jest pewien problem: gdy pr�buj� debugowa� za pomoca GDB, nie rozpoznaje pliku jako execa. Zlinkowany jest za pomoc� GoLink. Gdy pr�buj� u�y� Alink, wypisuje �e nie znalaz� _MessageBoxA@16, _ExitProcess@4. Jak linkerowi Alink wskazac �e ma bra� te funkcje z DLL i dlaczego zmieni� nazwy dodaj�c podkre�lenie i po nazwie liczb�?
Re: Pierwsze kroki z assemblerem
Author: yesma
Date: Wed, 11 Aug 2010 20:12
Date: Wed, 11 Aug 2010 20:12
16 lines
567 bytes
567 bytes
Borneq pisze: > Zastanawiam si� nad kt�rym� nasm, yasm, SB86, fasm, JWasm. Jakie s� > r�nice mi�dzy nimi? Ja poleci�bym Ci NASM bo jest przeno�ny na inne platformy np LINUX, jest wolnym oprogramowaniem i dlatego �e sam u�ywa�em go to pisania okienek w window$. Tyle �e ja tworzy�em sobie pliki lib z dll'i a nie tak jak piszesz w po�cie ni�ej �e chcesz u�ywa� bezpo�rednio przez loaddll, ALINK je utworzy tyle �e teraz niepami�tam jak to robi�em, sprawd� ALINK napewno dasz rade -- Pozdrawiam - Grzechu Linux x86_64
Re: Pierwsze kroki z assemblerem
Author: yesma
Date: Wed, 11 Aug 2010 20:15
Date: Wed, 11 Aug 2010 20:15
16 lines
564 bytes
564 bytes
Borneq pisze: > Zastanawiam si� nad kt�rym� nasm, yasm, SB86, fasm, JWasm. Jakie s� r�nice mi�dzy nimi? Ja poleci�bym Ci NASM bo jest przeno�ny na inne platformy np LINUX, jest wolnym oprogramowaniem i dlatego �e sam u�ywa�em go to pisania okienek w window$. Tyle �e ja tworzy�em sobie pliki lib z dll'i a nie tak jak piszesz w po�cie ni�ej �e chcesz u�ywa� bezpo�rednio przez loaddll, ALIB je utworzy tyle �e teraz niepami�tam jak to robi�em, sprawd� ALIB napewno dasz rade -- Pozdrawiam - Grzechu Linux x86_64
Re: Pierwsze kroki z assemblerem
Author: "Wiktor S."
Date: Fri, 13 Aug 2010 13:36
Date: Fri, 13 Aug 2010 13:36
17 lines
638 bytes
638 bytes
> przyk�ady ALink sa pod Tasm, wola�bym nasm, a poza tym zawieraj� > includelib "win32.lib", chcia�bym nie u�ywa� �adnych zewn�trznych > bibliotek a jedynie wo�a� funkcje API Windows bezpo�rednio z DLL > przez LoadLibrary to win32.lib to biblioteka dla linkera statycznie importuj�ca funkcje z dllek systemowych. Zaoszcz�dza ci pisanie kodu z LoadLibrary. To tylko automatycznie wygenerowane informacje dla linkera i p�niej systemowego loadera. Nie jest to jaka� "prawdziwa" zewn�trzna biblioteka. Nie ma potrzeby by _wszystko_ �adowa� dynamicznie przez LoadLibrary/GetProcAddress. -- Azarien
Re: Pierwsze kroki z assemblerem
Author: "Bogdan (bogdro)
Date: Mon, 16 Aug 2010 18:27
Date: Mon, 16 Aug 2010 18:27
64 lines
3367 bytes
3367 bytes
W dniu 11.08.2010 14:19, Borneq pisze: > Zastanawiam si� nad kt�rym� nasm, yasm, SB86, fasm, JWasm. Jakie s� > r�nice mi�dzy nimi? R�ni� si� w dyrektywach kompilator�w. Sk�adnia j�zyka jest ta sama. LZASM jest zgodny z przestarza�ym TASMem (Borland Turbo Assembler), JWasm - z MASMem (Microsoft Macro Assembler), YASM jest zgodny z NASMem i GNU as. Ja osobi�cie u�ywam g��wnie NASMa, ale czasem te� FASMa, do test�w. Por�wnanie dyrektyw i sposob�w kompilacji znajdziesz tu: http://rudy.mif.pg.gda.pl/~bogdro/dos/fntasm.htm. Dla Windows jest te� rodzina narz�dzi "Go": GoAsm - kompilator, GoLink - linker, GoBug - debuger, GoRC - kompilator zasob�w (http://www.godevtool.com/). Dobrym debugerem jest te� Olly Debugger (http://www.ollydbg.de/). > Szukam przyk�ad�w, jak zacz�� np. utworzy� konsol� i u�y� funkcji z > WinApi aby wypisa� co� w rodzaju printf("Hello world"). Poszukaj kursu Iczeliona dla Win32 (http://win32asm.cjb.net/; wersja polska pod adresem http://www.i-lo.tarnow.pl/edu/inf/prg/win32asm/) - tego potrzebujesz. Kurs jest napisany pod MASMa lub MASMa32, ale z niewielkim wysi�kiem mo�na go przenie�� na FASMa (i tak te� robi�em). FASM dla Windows to edytor tekstu z wbudowanym kolorowaniem sk�adni i opcjami kompilacji i uruchamiania, ale dla tego kompilatora napisano te� �rodowisko o nazwie Fresh (dost�pne ze stron FASMa). Na zrzutach ekranu wygl�da podobnie np. do Borland Buildera, mo�e wi�c okaza� si� przydatne do pisania aplikacji okienkowych. > Czy g��wna > funcja musi si� nazywac main? Nie, chyba �e linkujesz ze bibliotek� standardow� j�zyka C. > Poza tym - jak napisa� minimaln� okienkow� aplikacj� tworz�ca okno i > ob�suguj�c� komunikat Paint z mo�liwo�ci� rysowania TextOut, i innynch > rzeczy. Wszystko znajdziesz w tutorialach Iczeliona. Je�li u�ywasz odpowiedniego kompilatora, nie musisz u�ywa� LoadLibrary, ani nawet bibliotek importowych (win32.lib czy cokolwiek w tym gu�cie) - wystarczy napisa� odpowiednie linijki w programie (lub jeszcze �atwiej - do��czy� do programu plik ju� je zawieraj�cy). Tak na pewno by�o w FASMie dla Windows. Co do innych - nie wiem. Co do dziwnych nazw ("_MessageBoxA@16") - s� to nazwy funkcji i bodaj�e ilo�� bajt�w dla parametr�w. Ich nazewnictwo musi by� uzgodnione mi�dzy kompilatorem, linkerem i bibliotek� DLL. Niekt�re kompilatory maj� opcj� importowania z inn� nazw�, co� w stylu extern _MessageBoxA@16 as MessageBoxA dzi�ki czemu mo�esz u�ywa� normalnych nazw (bez ozdobnik�w), a nie b�dzie b��d�w linkera. Je�li jednak zdecydujesz si� linkowa� Alinkiem, to te� polecam Alib do tworzenia bibliotek importowych z bibliotek DLL, dzi�ki czemu Alink si� po�apie, o jakie funkcje chodzi. Wejd� na http://rudy.mif.pg.gda.pl/~bogdro/linki.htm - znajdziesz tam wiele odno�nik�w do kompilator�w, narz�dzi, kurs�w, ksi��ek i innych stron o asemblerze. -- Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS) Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 www.Xiph.org www.TorProject.org Soft (EN): miniurl.pl/bogdro-soft
Re: Pierwsze kroki z assemblerem
Author: "Wiktor S."
Date: Wed, 18 Aug 2010 18:55
Date: Wed, 18 Aug 2010 18:55
15 lines
406 bytes
406 bytes
> R�ni� si� w dyrektywach kompilator�w. Sk�adnia j�zyka jest ta sama. > LZASM jest zgodny z przestarza�ym TASMem (Borland Turbo Assembler), > JWasm - z MASMem (Microsoft Macro Assembler), YASM jest zgodny z > NASMem i GNU as. Zapomnia�e� jeszcze "FASM jest mniej wi�cej zgodny z NASM". Jak dla mnie, sk�adnia NASM/YASM/FASM jest najczytelniejsza. GNU as to makabra. -- Azarien
Re: Pierwsze kroki z assemblerem
Author: Wojciech =?ISO-8
Date: Wed, 18 Aug 2010 19:02
Date: Wed, 18 Aug 2010 19:02
11 lines
193 bytes
193 bytes
On Wed, 18 Aug 2010 18:55:45 +0200 "Wiktor S." <wswiktor&poczta,fm@no.spam> wrote: > GNU as to makabra. Bez przesady, w miarê ³atwo da siê przestawiæ - kwestia przyzwyczajenia. w.
Re: Pierwsze kroki z assemblerem
Author: Marek Borowski
Date: Wed, 18 Aug 2010 21:45
Date: Wed, 18 Aug 2010 21:45
24 lines
671 bytes
671 bytes
On 18-08-2010 18:55, Wiktor S. wrote: >> R�ni� si� w dyrektywach kompilator�w. Sk�adnia j�zyka jest ta sama. >> LZASM jest zgodny z przestarza�ym TASMem (Borland Turbo Assembler), >> JWasm - z MASMem (Microsoft Macro Assembler), YASM jest zgodny z >> NASMem i GNU as. > > Zapomnia�e� jeszcze "FASM jest mniej wi�cej zgodny z NASM". > Jak dla mnie, sk�adnia NASM/YASM/FASM jest najczytelniejsza. > > GNU as to makabra. > > Duzo pisalem w m68k. - Najcudowniejszy assembler do recznego pisania. I skladnia intela byla dla mnie na poczatku katorga. (o trybie rzeczywistym nie wspominajac). Bardzo lubie GNU as. Takze sa wyjatki :-). Pozdr Marek
Re: Pierwsze kroki z assemblerem
Author: Wojciech =?ISO-8
Date: Wed, 18 Aug 2010 21:49
Date: Wed, 18 Aug 2010 21:49
15 lines
331 bytes
331 bytes
On Wed, 18 Aug 2010 20:02:15 +0200 "Wiktor S." <wswiktor&poczta,fm@no.spam> wrote: > >> GNU as to makabra. > > > Bez przesady, w miarê ³atwo da siê przestawiæ > > nie czujê potrzeby, skoro jak trzeba to jest NASM. Ale¿ nie namawia³em Ciê do zmiany religii. :) Tylko niepotrzebnie straszysz m³odych. w.
Re: Pierwsze kroki z assemblerem
Author: yesma
Date: Wed, 18 Aug 2010 22:04
Date: Wed, 18 Aug 2010 22:04
15 lines
439 bytes
439 bytes
Wiktor S. pisze: > GNU as to makabra. > "wojna" AT&T czy INTEL chyba nigdy si� nie sko�czy :) Ja te� popieram sk�adnie Intel w wykonaniu NASM Jest minimalistyczna i w 100% zrozumia�a, bez movb al,? == mov al,? , wiadomo �e al to 8bit�w. Ale jak kto� du�o napisa� w GNU AS to szacunek, napewno opr�cz przyzwyczajenia ma swoje zalety tym bardziej jak kto� du�o pisze w C :) -- Pozdrawiam - Grzechu Linux x86_64
Re: Pierwsze kroki z assemblerem
Author: yesma
Date: Fri, 20 Aug 2010 20:02
Date: Fri, 20 Aug 2010 20:02
13 lines
205 bytes
205 bytes
yesma pisze: > movb al,? == mov al,? mam nadziej� �e nikt si� nie obrazi� za m�j b��d, rozp�dzi�em si� :) oczywi�cie movb ?,%al == mov al,? -- Pozdrawiam - Grzechu Linux x86_64
Re: Pierwsze kroki z assemblerem
Author: "Remek"
Date: Fri, 22 Oct 2010 17:59
Date: Fri, 22 Oct 2010 17:59
13 lines
386 bytes
386 bytes
U�ytkownik "Borneq" napisa�: > Szukam przyk�ad�w, jak zacz�� np. utworzy� konsol� i u�y� funkcji z WinApi > aby wypisa� co� w rodzaju printf("Hello world"). Je�li za p�no sie obudzi�em to sorry. Do rzeczy. Je�li WinApi to jak rozumiem Windows32. Do tego jest niezawodny, dedykowany i wspierany Masm32. Darmowy i jest do niego masa tutoriali. Remek
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads