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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2016, 12:07   #1
TunelLord
Пользователь
 
Регистрация: 22.01.2016
Сообщений: 20
По умолчанию Задача на Assembler в среде RadAsm! Известна сумма покупки (DWORD). Вычислить стоимость покупки вместе с доставкой.

Эта задача ввела меня в ступор , ничего более заковырестей еще не видел.
Помогите или скажите принцип , а то не могу понять как ЭТО в Ассемблере написать .

Известна сумма покупки (DWORD). Вычислить стоимость покупки вместе с доставкой. Стоимость доставки вычисляем: если сумма покупки не превышает 700 рублей, то доставка 250 рублей; если в пределах 701...990 рублей , то доставка 150 рублей .
TunelLord вне форума Ответить с цитированием
Старый 06.06.2016, 12:16   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

да так же - как и в любом другом языке - Условные операторы
(сравнивайте значение покупки с числом 701, если меньше - переход на ветку - доставка 250 рублей,
иначе, если сумма покупки меньше 990 рублей - то переход на ветку доставка 250 рублей,
иначе (сумма более 990 рублей) - выдача сообщения о том, что стоимость доставки нулевая (или не определена условиями задачи!)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.06.2016, 16:52   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Код:
.data
summ   dd  ?

.code
       mov   eax,[summ]       ;
       cmp   eax,700          ; сравнение..
       ja    fuck             ; больше? да - проверка на 990
       add   eax,250          ; нет - доставка 250!
       jmp   next             ;
fuck:  cmp   eax,990          ;
       ja    error            ; больше? да - ошибка
       add   eax,150          ;
next:  call  printSumm        ; выводим результ на экран
error: ret                    ; на выход!
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 06.06.2016, 20:01   #4
TunelLord
Пользователь
 
Регистрация: 22.01.2016
Сообщений: 20
По умолчанию

Черт , так и знал , что решение таким окажется .
Спасиб.)
TunelLord вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на Assembler в среде RadAsm! Дан массив a(n) типа WORD. Найти минимальный элемент. TunelLord Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 06.06.2016 21:56
Задача на Assembler в среде RadAsm! В переменной типа WORD биты содержать значения переменных A B C. Вычислить A*B-C TunelLord Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 06.06.2016 19:59
Создать приложение на Delphi, вычисляющее стоимость покупки с учетом скидки g.xaus Помощь студентам 4 15.03.2013 09:28
Задача про покупки wonder55 Microsoft Office Excel 1 11.01.2012 16:37