Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PLA 6
- Utilizarea bibliotecilor de functii
- res = myfunc(a, b, c, d)
- Conventia cdecl ( de ex printf )
- push d
- push c
- push b
- push a
- call myfunc
- add ESP, 16
- mov res, EAX
- Conventia stdcall
- sarcina de a curata argumentele de pe stiva revine functiei apelate, nu apelantului.
- push d
- push c
- push b
- push a
- call myfunc
- mov res, EAX
- Conventia fastcall
- presupune transmiterea primilor 2 parametrii ai functiei, de la stanga la dreapta, care incap ca reprezentare intr-un DWORD, in registrii ECX si EDX, restul parametrilor punaandu-se pe stiva, de la dreapta la stanga.
- mov ECX, a
- mov EDX, b
- push d
- push c
- call myfunc
- mov res, EAX
- Functii standard din msvcrt (printf si scanf)
- Lucrul cu fisiere text
- FILE * fopen(const char * filename, const char * mode);
- int fclose(FILE * stream);
- int fprintf(FILE * stream, const char * format, ...);
- int fscanf(FILE * stream, const char * format, ...);
- (pt fisiere binare)
- size_t fread(void * ptr, size_t size, size_t count, FILE * stream);
- size_t fwrite(const void * ptr, size_t size, size_t count, FILE * stream);
- Daca vre, sa afisam caracterul c :
- mov eax,0
- mov al,c
- push eax
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement