Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
36 / 34 / 20
Регистрация: 17.03.2015
Сообщений: 175

Средства обратной разработки: из ASM кода нужно понять, по какой формуле производится расчет

24.05.2018, 10:13. Показов 1336. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите разобраться с заданием.

Дана программа, в ней есть функция f с аргументами x y z, которая проводит расчет по введенным числам. После декомпиляции был получен ASM код.
Задача: Из ASM кода нужно понять, по какой формуле производится расчет.

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 400576:   55                              push   %rbp
  400577:   48 89 e5                mov    %rsp,%rbp
  40057a:   89 7d fc                mov    %edi,-0x4(%rbp)
  40057d:   89 75 f8                mov    %esi,-0x8(%rbp)
  400580:   89 55 f4                mov    %edx,-0xc(%rbp)
  400583:   8b 45 fc                mov    -0x4(%rbp),%eax
  400586:   0f af 45 f8             imul   -0x8(%rbp),%eax
  40058a:   89 c1                   mov    %eax,%ecx
  40058c:   8b 45 f8                mov    -0x8(%rbp),%eax
  40058f:   0b 45 fc                or     -0x4(%rbp),%eax
  400592:   89 c6                   mov    %eax,%esi
  400594:   8b 45 f4                mov    -0xc(%rbp),%eax
  400597:   99                              cltd   
  400598:   f7 fe                           idiv   %esi
  40059a:   29 c1                   sub    %eax,%ecx
  40059c:   89 c8                   mov    %ecx,%eax
  40059e:   83 c0 05                add    $0x5,%eax
  4005a1:   5d                              pop    %rbp
  4005a2:   c3                              retq
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.05.2018, 10:13
Ответы с готовыми решениями:

Средства обратной разработки
Здравствуйте! Помогите пожалуйста разобраться с задачей. Дана программа, в ней есть функция f с аргументами x y z, которая проводит...

По какой формуле нужно вычислять? по Бернулли или по формуле интеграла Лагранжа?
Всхожесть семян некоторого растения составляет 70% .Какова вероятность того, что из 10 посеянных зерен сойдут не менее восемь.

Не производится деление [Delphi + Asm]
Добрый день. Не производится деление, показывает 262 вместо 6.5. Заранее благодарю. unit Assembler; interface uses ...

3
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
24.05.2018, 10:48
Лучший ответ Сообщение было отмечено Dragon7788 как решение

Решение

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
                push   rbp
                mov    rbp,rsp      <-- пролог функции
                mov    [rbp-4],edi передаем в локальные переменные значения из edi, esi, edx
                mov    [rbp-8],esi
                mov    [rbp-0Ch],edx
                mov    eax,[rbp-4]  ; eax=edi
                imul   eax,[rbp-08]  ; eax=edi*esi
                mov   ecx,eax        ; ecx=edi*esi
                mov   eax,[rbp-8]   ; eax=esi
                or     eax,[rbp-4]    ; eax= edi or esi
                mov  esi,eax          ; esi = edi or esi
                mov  eax,[rbp-0Ch] ; eax = edx
                cltd                      ; cdq
                idiv   esi                ; edx:eax/esi
                sub   ecx,eax          ; ecx=ecx-eax
                mov  eax,ecx          ; eax=ecx-eax
                add   eax,5             ; eax=ecx-eax+5
                pop   rbp <-- эпилог функции
                ret <-- выход из функции
3
36 / 34 / 20
Регистрация: 17.03.2015
Сообщений: 175
24.05.2018, 10:53  [ТС]
Mikl___, Если вам не трудно, напишите пожалуйста это математической формулой) Буду очень благодарен!
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
24.05.2018, 11:05
Лучший ответ Сообщение было отмечено Dragon7788 как решение

Решение

допустим значения в f(x, y, z) передаются в следующем порядке х через edi, y через esi, z через edx
return (x*y - (z / (x or y)) + 5)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.05.2018, 11:05
Помогаю со студенческими работами здесь

Не производится расчет ничьей
код весь перебрала не могу найти ошибку, вместо ничьи выдает, победил второй игрок, подскажите что не так unit Unit6; interface uses ...

по какой формуле нужно решать?
Для посева пшеницы заготовлено семян, среди которого 95% 1-го сорта, 3% 2-го и 2% 3-го сорта. Вероятность того, что из семян вырастет...

По какой формуле нужно наити производную
Здравствуйте) помогите пожалуйста! По какой формуле нужно наити производную? \sqrt{x}

По какой формуле нужно считать расход газа?
у меня с формулами такого вида сложно. могли бы помочь рассчитать расход газа за 23 минуты 38 секунд из отверстия диаметром 100мм на...

Неправильно производится расчет в поле тексбокса
Доброе утро. Имеется форма для расчета : заполняются необходимые поля и по нажатию на кнопку &quot;ОК&quot; результат отображается в поле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru