Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2012, 17:17   #1
NightVamp
Пользователь
 
Регистрация: 06.02.2012
Сообщений: 12
По умолчанию Математическая функция

Нужна программа к вот такой функции:

((ai + bi)/(ci-di)) * fi. i - это индекс. Т.е. нужно с икриментом написать. Есть набросок программы, без подключения начальных модулей и без инкремента:

mov AX, a
mov BX, b
mov CX, c
mov DX, d
mov FX, f
add bx, ax
sub dx, cx
div bx, dx
mul bx, fx

Как будет выглядеть полностью написанный код к этой функции?
NightVamp вне форума Ответить с цитированием
Старый 04.11.2012, 18:37   #2
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

NightVamp, а если переменная будет не 'f' а 'e', Вы её в EX будете класть?
vadimych вне форума Ответить с цитированием
Старый 04.11.2012, 19:26   #3
NightVamp
Пользователь
 
Регистрация: 06.02.2012
Сообщений: 12
По умолчанию

переменная не будет "e", она уже задана именно как "f". Вообще, регистры дело десятое. По делу не можете написать совсем?
NightVamp вне форума Ответить с цитированием
Старый 04.11.2012, 19:53   #4
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Типа такого:
Код:
; если это массивы word'ов
; si = i * 2
mov ax, [a + si]
add ax, [b + si]
mov bx, [c + si]
sub bx, [d + si]
xor dx, dx
div bx
mul [f + si]
Somebody вне форума Ответить с цитированием
Старый 04.11.2012, 20:17   #5
NightVamp
Пользователь
 
Регистрация: 06.02.2012
Сообщений: 12
По умолчанию

куча вопросов. почему si = i*2? Зачем нужно обнуление dx? И ещё не могу понять: содержимое ax делится на bx, почему одно bx? Как машина поймёт, что ax делится?
NightVamp вне форума Ответить с цитированием
Старый 05.11.2012, 07:15   #6
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

Цитата:
Сообщение от NightVamp Посмотреть сообщение
По делу не можете написать совсем?
По делу только одно - учите матчасть
vadimych вне форума Ответить с цитированием
Старый 05.11.2012, 11:26   #7
NightVamp
Пользователь
 
Регистрация: 06.02.2012
Сообщений: 12
По умолчанию

Цитата:
Сообщение от vadimych Посмотреть сообщение
По делу только одно - учите матчасть
По делу - значит, непосредственно, по моему вопросу. Если не знаете ответ, нечего посоветовать - просто пройдите мимо. Для того и обратилась сюда, чтобы помогли, а не бросались ненужными советами.
NightVamp вне форума Ответить с цитированием
Старый 05.11.2012, 14:27   #8
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
Сообщение от NightVamp Посмотреть сообщение
почему si = i*2?
Потому что так удобно будет, если элемент массива - 2 байта. Можно, конечно, брать i и умножать на 2 перед каждой итерацией..
Цитата:
Сообщение от NightVamp Посмотреть сообщение
Зачем нужно обнуление dx? И ещё не могу понять: содержимое ax делится на bx, почему одно bx? Как машина поймёт, что ax делится?
RTFM
http://www.intel.com/content/dam/doc...a-z-manual.pdf
Или в любой книжке.
Somebody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Математическая функция angel5609 Помощь студентам 3 20.11.2011 02:13
Математическая функция "сигнум" turtles Общие вопросы по Java, Java SE, Kotlin 1 17.08.2011 10:46
математическая постановка rap1d188 Помощь студентам 2 06.06.2010 19:22
Математическая логика newum44 Помощь студентам 0 24.01.2010 10:08
Математическая логика Dimon278 Помощь студентам 0 13.12.2009 21:50