🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.asm
14 messages
14 total messages Started by "Borneq" Wed, 11 Aug 2010 14:19
Pierwsze kroki z assemblerem
#2317
Author: "Borneq"
Date: Wed, 11 Aug 2010 14:19
10 lines
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
#2318
Author: "Borneq"
Date: Wed, 11 Aug 2010 15:39
15 lines
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
#2319
Author: "Borneq"
Date: Wed, 11 Aug 2010 16:42
15 lines
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
#2320
Author: yesma
Date: Wed, 11 Aug 2010 20:12
16 lines
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
#2321
Author: yesma
Date: Wed, 11 Aug 2010 20:15
16 lines
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
#2323
Author: "Wiktor S."
Date: Fri, 13 Aug 2010 13:36
17 lines
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
#2327
Author: "Bogdan (bogdro)
Date: Mon, 16 Aug 2010 18:27
64 lines
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
#2329
Author: "Wiktor S."
Date: Wed, 18 Aug 2010 18:55
15 lines
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
#2331
Author: Wojciech =?ISO-8
Date: Wed, 18 Aug 2010 19:02
11 lines
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
#2333
Author: Marek Borowski
Date: Wed, 18 Aug 2010 21:45
24 lines
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
#2334
Author: Wojciech =?ISO-8
Date: Wed, 18 Aug 2010 21:49
15 lines
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
#2335
Author: yesma
Date: Wed, 18 Aug 2010 22:04
15 lines
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
#2336
Author: yesma
Date: Fri, 20 Aug 2010 20:02
13 lines
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
#2351
Author: "Remek"
Date: Fri, 22 Oct 2010 17:59
13 lines
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