Size: a a a

Ассемблер

2020 May 31

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
a(выше) & b(ниже) - это сравнение без знака
g(больше) & l(меньше) - сравнеие со знаком
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
tfyvgubhinjkwaxdrctfgvyuhbjnmkzsdxfcvghbjnsxdfcgvhbjehhfhn
ничего страшного в этом нет
и все же, а вдруг на его коде супер пупер мега антиотладочная система будет реализована, а американец или китаец возьмум и сломают правительственные данные/программы
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Arti Chornyi Shampinyon
вся группа сдала с JLE, а я похоже единственный буду с JBE
будет повод поумничать, доказав что ты прав, а всем остальным просто повезло, что препод сам мало поинмает в асме
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
но у тя видимо там проблема не только в этом
источник

AC

Arti Chornyi Shampin... in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
но у тя видимо там проблема не только в этом
похоже да
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
вот мое наблюдение как быстро выполняется printf
rdtsc
cinvoke printf,<'edx:eax = %X:%X',13,10>,edx,eax
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
значит надо eax сохранить ecx после первого использования. потом повторить rdtsc и вычесть eax-ecx. результат сравнить (ну допустим) с удвоенной средней дельтой (у нас возможно дельты по eax будут разными ввиду разной частоты проца). если у тя разность между двумя вызовами rdtsc будет меньше средней дельты (в коде ты вроде с нимм эксперементируешь - 0fffh, 45, 450000), то все норм, если же больше (а это значит что процес приостановился изза отладки и счетчик продолжает тикать), то ты под отладкой
источник

AC

Arti Chornyi Shampin... in Ассемблер
я дебажу в олли, не пойму почему регистры по нулям
источник

AC

Arti Chornyi Shampin... in Ассемблер
источник

AC

Arti Chornyi Shampin... in Ассемблер
edx и aex меняются же изза rdtsc
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Arti Chornyi Shampinyon
edx и aex меняются же изза rdtsc
да, но ты не сохраняешь eax
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
у тя каждый вызов rdtsc обновляет регистры edx & eax
источник

AC

Arti Chornyi Shampin... in Ассемблер
check_debug:
   RDTSC
   MOV ebx, eax
   RDTSC
   SUB ebx, eax
   CMP ebx, 45
   JG print_debug
   RET
источник

AC

Arti Chornyi Shampin... in Ассемблер
мув сохранит в ebx?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
да, но у тебя получится неправильное значение при вычитании
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Arti Chornyi Shampinyon
check_debug:
   RDTSC
   MOV ebx, eax
   RDTSC
   SUB ebx, eax
   CMP ebx, 45
   JG print_debug
   RET
сделай тогда neg ebx после вычитания, если не догадался почему в данном случае так вычитать - ошибка
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
а я спать
источник

AC

Arti Chornyi Shampin... in Ассемблер
спасибо большое
источник

AC

Arti Chornyi Shampin... in Ассемблер
добрых снов
источник

Н

Никитос in Ассемблер
Aleksandr
в квартусе создаешь блок-диаграм (вроде так) и все то же самое, но компонентов значительно мольше
Сложновато там
источник