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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: Название темы должно адекватно отражать суть решаемой задачи/проблемы.
Старый 12.12.2013, 23:39   #1
xperiax8548
Новичок
Джуниор
 
Регистрация: 12.12.2013
Сообщений: 1
Восклицание Ассемблер. Написать программу, заменяющей наименьшее из трех чисел полусуммой двух других.

Помогите в очень легкой задаче, Ассемблер!

Написать программу, заменяющей наименьшее из трех чисел полу суммой двух других.

Последний раз редактировалось Serge_Bliznykov; 13.12.2013 в 11:22.
xperiax8548 вне форума Ответить с цитированием
Старый 13.12.2013, 11:26   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от xperiax8548 Посмотреть сообщение
Помогите в очень легкой задаче, Ассемблер!
просто любопытно, а с чего Вы взяли что это "очень лёгкая" задача?!!

И если она такая лёгкая, то почему Вы сами не написали?! Давайте ваш код, что Вы смогли написать, посмотрим, что у Вас не получается!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.12.2013, 11:30   #3
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

ПисАл, писАл, уже отладил и заработала, как вдруг!
Увидел слово полусумма и сник
С вещественными в асме не умею я
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 13.12.2013, 11:57   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
С вещественными в асме не умею я
а с чего Вы взяли, что речь идёт о вещественных числах?
вполне допускаю, что речь идёт о ЦЕЛОЧИСЛЕННОМ делении на 2

а может быть - и нет!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.12.2013, 12:03   #5
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Ну, если целочисленное, тогда я решил. ;
А может быть и нет
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 13.12.2013, 12:31   #6
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Код:
{Написать программу, заменяющей наименьшее из трех чисел
полусуммой двух других.}
var
  res,ost,a,b,c : longint;
begin
  readln(a,b,c);
  writeln(a,' ',b,' ',c);
  asm
    mov  eax,a
    mov  ebx,b
    mov  edx,c
    cmp  eax,ebx        // сравниваем а и в
    jl   @a             // a больше, чем b. переходим туда
    xchg eax,ebx        // b больше, чем а меняем их местами
                        // в eax теперь наименьшее
    cmp  eax,edx        // сравниваем с с
    jl   @endif             // a больше чем с, убежали туда
    xchg eax,edx        // в eax наименьшее из eax и с
    mov  a,edx
    mov  c,eax

    jmp  @endif
@a:
    cmp  eax,edx
    jl   @endif
    xchg eax,edx
    jmp  @endif
@endif:
    add  ebx,edx
    xchg eax,ebx
    xor  edx,edx
    mov  ebx,2
    div  ebx
    mov  res,eax
    mov  ost,edx
  end;
  writeln('Полусумма больших чисел = ',res,' ','c остатком ',ost);
  readln;
end.
Какой всетаки натужный у интела асм
Zilog'овский намного проще

Последний раз редактировалось ZX Spectrum-128; 13.12.2013 в 13:08.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 13.12.2013, 13:43   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ZX Spectrum-128, а Вы явно не ленивый человек!

но, к сожалению, не факт, что автора топика устроит это решение.
Начиная с того, что его может интересовать полное решение, включая описание секций, ввод и вывод данных на ассме, и заканчивая тем, что его интересует, например, 16 битный ассемблер под MS DOS (задача на TASM)...


p.s. разумеется, я пишу это не для того, чтобы Вы бросили всё и стали переделывать своё решение под мои домыслы!!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.12.2013, 13:48   #8
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Не факт, что устроит Так как последнюю часть я не доделал полусумму нашел, но в наименьшее не запихал
Ну не знаю я, как засунуть пару 32-битных регистров в один 32-битный регистр. Если числа не превосходят 32767, то понятно. А если больше?
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти наименьшее общее кратное трех чисел (Pascal) spone379 Помощь студентам 4 31.10.2012 18:23
Написать программу, выполняющую по выбору сложение, вычитание, умножение или деление нацело двух многоразрядных чисел. dmitriy20104 Паскаль, Turbo Pascal, PascalABC.NET 1 20.08.2012 19:12
Turbo Pascal - Составить программу нахождения произведения двух наибольших из трех введенных с клавиатуры чисел.(Условный оператор lady.unika Паскаль, Turbo Pascal, PascalABC.NET 3 05.05.2012 21:36
Ближайшее и наименьшее к n из двух чисел turtles Общие вопросы по Java, Java SE, Kotlin 2 25.08.2011 16:19
Сравнение остатков двух чисел от деления на 3 (ассемблер) MaxFlame Помощь студентам 0 25.05.2010 09:11