Size: a a a

Ассемблер

2019 November 05

FT

Fistashka Tryam in Ассемблер
НЕ могу понять в чем причина
источник

FT

Fistashka Tryam in Ассемблер
楽園松本
Ты имел в виду: loop или jmp? Loop очень медленный. Почему - хз
Да кстати про циклы, а какой быстрее?
источник

FT

Fistashka Tryam in Ассемблер
Бывают массивы огромные 1920x1080
источник

Н

Никита in Ассемблер
cmp (comparate) это сравнение чисел
А jmp это прыжок
источник

Н

Никита in Ассемблер
Смп никаких прыжку вне делает
источник

Н

Никита in Ассемблер
И
dec ecx
jnz .loop
Работает быстрее чем
loop .loop
источник

FT

Fistashka Tryam in Ассемблер
Так в чем отличие jnz от cmp
источник

Н

Никита in Ассемблер
Fistashka Tryam
Так в чем отличие jnz от cmp
Это пидэс разные вещи
источник

Н

Никита in Ассемблер
Как муха и гов но
источник

FT

Fistashka Tryam in Ассемблер
Блин говорили мне учись учись сынок
источник

FT

Fistashka Tryam in Ассемблер
Но все запомнить невозможно
источник

Н

Никита in Ассемблер
В проце есть флаг ZF он может быть 1 или 0
jz совершает прыжок если ZF=1
Jnz прыгает если ZF=0
источник

FT

Fistashka Tryam in Ассемблер
Никита
Как муха и гов но
Слухай а почему код выше не выдает 0 элемент массива? Через конструкцию jnz 0 не обрабатывает чтоли
источник

Н

Никита in Ассемблер
А cmp просто вычитает 2 числа и если результат =0 то ставит в ZF 1
источник

Н

Никита in Ассемблер
А потом можно использовать jz для прыжка с условием
источник

Н

Никита in Ассемблер
Fistashka Tryam
asm
 push ebx
   mov ebx, [eax].TArrayIn.DataIn
   xor ecx, ecx

 @@loop :
   mov eax, 6
   sub eax, ecx

   mov eax, [ebx+eax*type integer]
   mov [edx+ecx*type integer], eax

   inc ecx
   cmp ecx, 6

 mov [ebx].TArrayInt.DataOut, edx
 pop ebx

end;
Хрень
источник

FT

Fistashka Tryam in Ассемблер
Никита
Хрень
Вай?
источник

FT

Fistashka Tryam in Ассемблер
По-другому не получилось
источник

Н

Никита in Ассемблер
Fistashka Tryam
asm
 push ebx
 mov ebx, [eax].TArrayInt.DataIn
 mov ecx, 6

@@loop :
 mov eax, 6
 sub eax, ecx

 mov eax, [ebx+eax*type integer]
 mov [edx+ecx*type integer], eax

 dec ecx
 jnz @@loop
 mov [ebx].TArrayInt.DataOut, edx
 pop ebx
end;
Что-то оч странное
источник

Н

Никита in Ассемблер
Fistashka Tryam
asm
 push ebx
   mov ebx, [eax].TArrayIn.DataIn
   xor ecx, ecx

 @@loop :
   mov eax, 6
   sub eax, ecx

   mov eax, [ebx+eax*type integer]
   mov [edx+ecx*type integer], eax

   inc ecx
   cmp ecx, 6

 mov [ebx].TArrayInt.DataOut, edx
 pop ebx

end;
Потому что тут даже цикла нет
источник