41 lines
429 B
NASM
41 lines
429 B
NASM
.intel_syntax
|
|
eaxpart:
|
|
push eax
|
|
push ecx
|
|
jmp compare
|
|
ecxpart:
|
|
push eax
|
|
push ecx
|
|
mov eax,ecx
|
|
|
|
compare:
|
|
push ebx
|
|
mov ebx,0xDEADBEEF #write a pointer to the list of allowed civs
|
|
mov ecx,2000 #write a number of allowed civs
|
|
loop1:
|
|
cmp [ebx+ecx*4],eax
|
|
jnz endok
|
|
dec ecx
|
|
cmp ecx ,-1
|
|
jnz loop1
|
|
|
|
pop ebx
|
|
|
|
jmp fail
|
|
|
|
endok:
|
|
pop ebx
|
|
|
|
cmp eax,eax
|
|
jmp endfinal
|
|
fail:
|
|
|
|
xor ecx,ecx
|
|
xor eax,eax
|
|
inc eax
|
|
cmp eax,ebx
|
|
endfinal:
|
|
|
|
pop ecx
|
|
pop eax
|
|
ret |