Size: a a a

Ассемблер

2021 June 22

d

disba1ancer in Ассемблер
По ходу пациент - призрак
источник

D

Den in Ассемблер
Да как в фильие привидение, ад программиста стучишь по клавишам а они не нажимаются...
источник

Cладкий Хлеб... in Ассемблер
Зато опыт, все такое
источник

ST

Saenro T in Ассемблер
А 3567×3567 сколько выдаёт?
источник

MA

Max Azatian in Ассемблер
чет не помню, чтобы ассемблерщикам с опытом много платят 🤔
источник

АШ

Алексей Шведов... in Ассемблер
Да я неправильно сделал, сейчас переделываю, идея появилась. Я просто сделал циклом по 12345, и получлось на 7 команд - думал, что важны только команды, а там ещё нужно минимум итераций цикла
источник

MA

Max Azatian in Ассемблер
а что быстрее : and esi, 0xFF или movzx esi, sil?
источник

MA

Max Azatian in Ассемблер
есть онлайн тул для таких замеров?
источник

АШ

Алексей Шведов... in Ассемблер
Есть -
cpuid
rdtsc
А ещё можно посмотреть в таблице замеров скорости команд Агнера, где это уже всё сделано
источник

d

disba1ancer in Ассемблер
С высокой вероятностью работают одинаково быстро, а может и вторая быстрее, но про список Агнера уже сказали найди в нём свой проц и посмотри
источник

АШ

Алексей Шведов... in Ассемблер
На AMD K7
movzx r,r 1 tick, 1/3, ALU/AGU
and r,r 1 tick, 1/3, ALU
источник

АШ

Алексей Шведов... in Ассемблер
На Intel Pentium and будет быстрее
А на Intel Atom он различается от movzx тем, что исполняется в любом блоке, когда movzx только в ALU0
источник

АШ

Алексей Шведов... in Ассемблер
В общем, либо одинаково быстро, либо быстрее - and
источник

d

disba1ancer in Ассемблер
Но movzx покороче может оказаться
источник

MA

Max Azatian in Ассемблер
еще помню у Агнера была рекомендация перемешивать инструкции таким образом, чтобы следующая не ждала выполнения предидущей, что в принципе логично.

А на сколько % замедляется выполнение, если след.инструкция напрямую зависит от предидущей ?

например
mov rax, qword ptr [rbx]
mov byte ptr [rax], 0

vs.
mov rax, qword ptr [rbx]
mov byte ptr [rbx], 0
источник

d

disba1ancer in Ассемблер
Хотя если у and есть вариант с imm8 то уже нет
источник

АШ

Алексей Шведов... in Ассемблер
Да, на 3 байта, так что нужно балансировать между весом, и скоростью, либо весом, или скоростью
источник

d

disba1ancer in Ассемблер
Обычно нужно выбирать то что в данном случае более уместно
источник

d

disba1ancer in Ассемблер
Кажется, пример неудачный код, не эквивалентен
источник

MA

Max Azatian in Ассемблер
чего он не эквивалентен? из-за endianness?
источник