Escolar Documentos
Profissional Documentos
Cultura Documentos
Mydoc
Mydoc
PUSH E POP DOS REGISTOS UTILIZADOS addl $N*4, %esp #N=nr parmetros funo para limpar registos Varivel Local:
Vec = (xpto*) malloc(n*sizeof(xpto)); Vec[0]->sta=(char*) malloc(x*sizeof(char)); Contar nr bytes > x Int contabytes(int *vec, char x);
subl $4, %esp #reserva espaco para a variavel local movl %ebx, -4(%ebp) #guarda resultado actual na variavel local ---Alocao Memria #include <stdlib.h> int *ap = NULL; ap = (int*) malloc(10 * sizeof(int)); ap[0] = 1; *(ap + 1) = 2;
Conta_bytes: Pushl %ebp Movl %esp, %ebp Movl 8(%ebp), %esi Movl 12(%ebp), %ebx Movl $0, %eax Ciclo: Movl (%esi), %edx Cmpl $-1, %edx Je fim Movl $4, %ecx Ciclo_conta: Cmpb %bl, %dl Je prox Incl %eax Prox: Sarl $8, %dl Loop ciclo_conta Addl $4, %esi Jmp ciclo