Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.06.2011, 23:15
lesya_ya lesya_ya вне форума
Прохожий
 
Регистрация: 22.05.2011
Сообщения: 13
Репутация: 10
Восклицание организация циклов

задачая простая очень, просто не понимаю ассемблер(
помогите плиз!!!

Дано вещественное число A и целое число N (> 0). Используя один цикл, найти сумму 1+A+A2+A3+…+AN.

ввод, вывод данных на делфи, а реализация цикла на ассемблере...
Ответить с цитированием
  #2  
Старый 10.06.2011, 07:07
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Ф-нц набрал, осталось только ввод/вывод на Delphi.
Код:
Function Summa_ASM(A, N: Integer): Integer; Register;
Asm
 xor edi, edi
 mov esi, 1
 mov ecx, N
 mov ebx, A
@Next:
 cmp edi, ecx
 jz @Exit
 Inc edi 
 mov eax, edi
 imul ebx
 add esi, eax
 jmp @Next
@Exit: 
 xchg esi, eax
end;
__________________
If end Then begin;
Ответить с цитированием
  #3  
Старый 10.06.2011, 13:54
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Цитата:
Сообщение от AND_REY
Ф-нц набрал, осталось только ввод/вывод на Delphi.

Вдогонку. Внутра asm-функции можно свободно менять только EAX,EDX и ECX. Остальные регистры нужно сохранять (Push/Pop).
Кроме того если всё тело функции написано на ассемблере и соглашение о вызовах - register, то первый параметр уже находится в EAX, второй в EDX и третий в ECX.
Ответить с цитированием
  #4  
Старый 10.06.2011, 14:09
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Тут форум по Delphi а не по ASM. Я плохо знаю ASM, хотя и Delphi я особо не учил
__________________
If end Then begin;
Ответить с цитированием
  #5  
Старый 10.06.2011, 21:12
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

И оба отвечающих не обратили внимание на тот маленький факт, что переменная A - вещественная.
Ответить с цитированием
  #6  
Старый 10.06.2011, 21:38
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Напиши на дельфе, скомпиль, открой отладчиком и рипани этот злощастный асм код.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #7  
Старый 10.06.2011, 21:52
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Не смеши, я в ассемблере не новичок.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:26.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter