Blog literacki, portal erotyczny - seks i humor nie z tej ziemi


ÛÛßßßßßßßßÛ²ÛßßßßÛÛßßßßßÛ²ÛÛßßßßßßÛÛ²ÛÛßßßßßßßßßÛÛ
ÛÝ ÛÛÛÛÛ² ²±² ÛÛÝÛÝ ÛÛ² ²±² ÞÛÛÛ² ²±² ÜÜÛÛÛÜÜ ÞÛ
² ÞÛÛÛÛÛÛ² ° ÛÛÛ ² ÞÛÛÛ² ° ÛÛÛÛÛÝ ° Û²ß ßÛÛ² ²
WWW.± ÛÛÛÛ ÛÛ² ÛÛÛÝ ± ÛÛÛÛÛÝ ÞÛÛÝÛÛÛÛ Û²° ÜÜÜÜÜ ±.PRV.PL
°ÞÛÛÛ ÛÛ²ÛÛÛÛ °ÞÛÛÝÛÛ² ÛÛ² ÞÛÛÛ Û² ÛÛ² °
ÛÛÛ ÛÛÛÛÛÝ ÛÛÛ ÞÛÛ²ÛÛßßßßÛÛÛ ÛÛÛÜÛÛ²
ÞÛÛ ÛÛÛÛ ÞÛÛßßßßÛ²ÛÛ ÛÛÛÛ ßßßßß
ÜÜÜÜÜÜÜÜÜNEWÜÜÜÜÜÜÜÜÜÜÜÜAGEÜÜÜÜÜÜASMÜÜÜÜÜÜÜÜGROUPÜÜÜÜÜÜÜÜÜÜÜÜ
Û What? : Tutorial #2 by Klemik Û
Û Subject : Pierwszy program w assemblerze Û
Û Author : Klemik Û
Û Author's www : http://www.klemik.prv.pl Û
Û Authors e-mail : Klemik@box43.pl Û
ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ

Witam w moim drugim tutorze poswieconym assemblerowi pod Windowsa.
Mam nadzieje, ze czytales moj pierwszy tutorial. Jesli nie, to mowie, ze
dzis zajmiemy sie funkcja MessageBoxA. Wiec napiszmy swoj pierwszy program
wyswietlajacy MessageBox'a. Zacznijmy od samego poczatku:
.386
.model flat, stdcall
option casemap :none ; case sensitive

include C:\masm32\include\windows.inc
include C:\masm32\include\user32.inc
include C:\masm32\include\kernel32.inc

includelib C:\masm32\lib\user32.lib
includelib C:\masm32\lib\kernel32.lib

.data
szDlgTitle db "Assembler jest latwy !!!",0
szDlgText db "To jest tresc mojego 1 messagebox'a !!!",13,10,
db "to jest kolejna linijka messagebox'a !!!",0
.code

start:
invoke MessageBoxA,0,ADDR szDlgText,ADDR szDlgTitle,MB_OK
invoke ExitProcess,0
end start

Wiec tak... teraz opis.
include podowuje zalaczenie pliku *.inc.
includelib j/w pliku *.lib;
.data - po tym mozesz deklarowac swoje dane.
Np.
Text db "text",0 - kazdy ciag znakow musi byc zakonczony zerem.
Liczba dd 1234 - zmienna Liczba po takiej deklaracji bedzie
wskazywac na liczbe 1234. Jesli to ma byc liczba
szesnastkowa, na koncu liczby trzeba postawic literke h,
np. 1234DCBh. Z tego, co zauwazylem, jesli na poczatku
liczby jest litera (A..F), to przed liczba musi byc
wstawione zero, bo w przeciwnym wypadku kompilator
MASM32 wyswietla blad, np. 0D1234h
tablica db 10 dup(0) - jest to tablica o dlugosci 10 (0Ah) wypelniona zerem.
.code - po tym rozpoczyna sie kod programu.
start: - etykieta; mozna tworzyc wlasne etykiety, np.
start: - etykieta
jmp dalej2 - skok do etykiety dalej2
dalej1: - etykieta
invoke ExitProcess, 0 - funkcja, czytaj dalej
dalej2: - etykieta
invoke MessageBoxA - funkcja wyswietlajaca MessageBox'a. Oto jej parametry:
int MessageBox(

HWND hWnd,// uchwyt do okna glownego programu
LPCTSTR lpText,// adres do tekstu MessageBox'a
LPCTSTR lpCaption,// adres do tytulu MessageBox'a
UINT uType // styl okna MessageBox'a
);

Style okna:

MB_ABORTRETRYIGNORE - MessageBox posiada 3 przyciski: Anuluj, Powtorz, Ignoruj.
MB_OK - MessageBox posiada 1 przycisk: OK.
MB_OKCANCEL - MessageBox posiada 2 przyciski: OK i Anuluj.
MB_RETRYCANCEL - MessageBox posiada 2 przyciski: Powtorz i Anuluj.
MB_YESNO - MessageBox posiada 2 przyciski: Tak i Nie.
MB_YESNOCANCEL - MessageBox posiada 3 przycisk: Tak, Nie, Anuluj.

A oto kilka styli na zmiane ikony MesageBox'a:

MB_ICONEXCLAMATION,MB_ICONWARNING - Znak ostrzezenia
MB_ICONINFORMATION, MB_ICONASTERISK - Znak informacji
MB_ICONQUESTION - znak zapytania
MB_ICONSTOP,MB_ICONERROR,MB_ICONHAND - znak stopu

A teraz kilka dodatkowych opcji:

MB_HELP - Dodaje znak pomocy
MB_RIGHT - Tekst MessageBox'a jest wyrownany do prawej

Po tym dosc wyczerpujacym opisie funkcji MessageBoxA przyszedl czas na opis
funkcji ExitProcess:
ExitProcess - konczy program; najczesciej stosowanym parametrem jest 0 (NULL).
end start - informuje kompilator o tym, ze to jest koniec programu.
po end musi byc nazwa naszej pierwszej etykiety, w tym przypadku
jest to start.

No... to bierz sie za swoj wlasny program... Do zobaczenia w nastepnym
tucie !!! :>>

ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
Û MEMBERS OF NEW AGE ASM GROUP Û
ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ
Û NAME E-MAIL FUNCTION Û
ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ
Û[HaRv3sTeR.....{ HaRv3sTeR@poczta.wp.pl }pres1dent/f0under/c0der/wr1ter/web]Û
Û[Klemik........{ Klemik@box43.pl }....v1cepres1dent/c0der/wr1ter/web]Û
Û[SEM...........{ sem@tenet.pl }......................wr1ter/coder]Û
Û[t0udi.........{ t0udi@box43.gnet.pl }......................wr1ter/coder]Û
Û[Stryket.......{ stryket@obywatel.pl }......................wr1ter/coder]Û
Û[Paweˆ Kmiecik.{ pkmiecik@go2.pl }......................wr1ter/coder]Û
Û[Zedd..........{ asmdw@interia.pl }.............................coder]Û
Û Û
Û[this is place for ya ...................want to join ? e-mail to president]Û
ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ
Û Û WWW Û Û
ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜßßßßßßßßßßßßßßßÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛHTTP://www.NAAG.prv.pl/ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß






  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • qualintaka.pev.pl
  •