Сейчас на форуме: _MBK_, Rio (+5 невидимых)

 eXeL@B —› Вопросы новичков —› математическое значение конкретного кода
Посл.ответ Сообщение

Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 05 октября 2008 00:03
· Личное сообщение · #1

Подскажите, кто знает. Имеет ли следующий код какое-либо математическое значение, или это просто сокрытие истинного значения переменных.
При запуске программы [ecx] прогоняется этим кодом определенное количество раз, жестко заданное непосредственной константой, и больше не изменяется. Программа обрабатывает данные циклически, и в каждом цикле с этой [ecx] сравнивается другая переменная, также проходящая через этот код. Я понимаю, что делает каждая команда в отдельности (и даже пара команд ), но понять весь алгоритм в комплексе мозгов не хватает.
Code:
  1. MOV EAX,DWORD PTR DS:[ECX]
  2. MOV BX,AX
  3. SHR EAX,10
  4. ADD AX,BX
  5. MOV DL,BH
  6. MOV DH,AL
  7. ADD AX,DX
  8. XCHG AX,BX
  9. SHL EAX,10
  10. MOV AX,BX
  11. MOV DWORD PTR DS:[ECX],EAX





Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 05 октября 2008 00:30
· Личное сообщение · #2

SVLab Может этот код расчитан на создание мусора, некоторые проги начинаются с незначительных команд типа:

test eax, eax
jz __l

__l:
inc eax
cmp eax, 1
jz m
;...

Лучше выкладывай саму прогу

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 05 октября 2008 01:29
· Личное сообщение · #3

coderess пишет:
Может этот код расчитан на создание мусора

Нет, им действительно обрабатываются переменные, отвечающие за количество итераций цикла, т.е. продолжительность работы программы в течение одного запуска. Вернее, одна константа и одна переменная. А программку выкладывать смысла нет, с ней я разобрался. Просто заинтересовал этот кусочек, может какой-нибудь известный алгоритм.


 eXeL@B —› Вопросы новичков —› математическое значение конкретного кода
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати