Код (Text): mov eax, [esi + ebx*4] ; eax = data test eax, eax ; ebx = read addres index jz @next add edx, 1 @next: mov [edi + edx*4], eax ; edx = write addres index add ebx, 1 подскажите, как избавиться от перехода? P.S. неиспользуемые регистры есть
Код (Text): mov eax, [esi + ebx*4] ; eax = data test eax, eax ; ebx = read addres index xor ecx,ecx setne cl add edx, ecx mov [edi + edx*4], eax ; edx = write addres index add ebx, 1
как вариант Код (Text): mov eax, [esi + ebx*4] ; eax = data mov ecx,eax neg ecx adc edx,0 mov [edi + edx*4], eax ; edx = write addres index add ebx, 1 по недосмотру забыл убрать test eax,eax исправил