.intel_syntax noprefix .section .data .section .text .global feladat feladat: // int feladat(int* array, int length, int* output) push ebp mov ebp, esp push ebx //loop counter push ecx //result counter push edx push esi push edi mov esi, [ebp + 4*2] // int* array => esi mov edx, [ebp + 4*3] // int length => ecx mov edi, [ebp + 4*4] // int* output => edi mov ebx,0 //loop counter mov ecx,0 //result counter loop: cmp ebx, ecx jge end cmp 2,[esi+ebx*4] //bemenet[i]>=2 jge NAGYOBB inc ebx //i++ jmp loop NAGYOBB: //bemenet[i]>=2 mov edi[ecx*4],[esi+ebx*4] //kimenet[szamlalo]=bemenet[i] add ecx,1 //szamalo novelese inc ebx //i++ jmp loop end: //ha nagyobb vagy egyenlő mint a length mov eax, ecx // result! pop edi pop esi pop edx pop ecx pop ebx mov esp, ebp pop ebp ret