akaGM
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору .386 .model flat, stdcall .data Ai dd 8 dup (0) ;1,2,3,4,5,6,7,8 nfound dd 0 count dd 0 .code start: ;-------------------------------- lea ebx, dword ptr Ai mov dword ptr [ebx], 1 ; заполняем Ai массив mov dword ptr [ebx+4], 2 mov dword ptr [ebx+8], 3 mov dword ptr [ebx+12], 4 mov dword ptr [ebx+16], 5 mov dword ptr [ebx+20], 6 mov dword ptr [ebx+24], 7 mov dword ptr [ebx+28], 8 ;... xor eax, eax jmp @@l2 @@l1: mov ecx, dword ptr count inc ecx mov dword ptr count, ecx @@l2: cmp dword ptr count, 8 ; кол-во элементов в массиве, if => 8 просмотрели все jge @@l3 mov ecx, dword ptr count cmp dword ptr [ebx+ecx*4], 6 ; if < 6 continue jl @@l1 mov edx, dword ptr count cmp dword ptr [ebx+edx*4], 20 ; if >= 20 continue jge @@l1 mov eax, dword ptr nfound ; нашли один... inc eax mov dword ptr nfound, eax jmp @@l1 @@l3: ; здесь регистр eax и переменная nfound сожержит число искомых элементов ; дальше делай с этим что угодно, но уже сам... ;-------------------------------- ret end start | Всего записей: 24122 | Зарегистр. 06-12-2002 | Отправлено: 16:36 31-10-2008 | Исправлено: akaGM, 23:30 01-11-2008 |
|