|
0 / 0 / 0
Регистрация: 03.04.2017
Сообщений: 6
|
||||||
TASM Калькулятор, который выполняет 4 простейших арифметических операций над двумя числами со знаком03.04.2017, 20:42. Показов 11340. Ответов 13
Метки нет (Все метки)
Всем доброго времени суток. Такой вопрос: есть калькулятор, который выполняет 4 простейших арифметических операций с двумя числами. Задача заключается в том чтобы его немного модифицировать и упростить согласно тз: написать калькулятор, выполняющий над двумя знаковыми числами размером в слово следующие операции: нахождение максимального, минимального и среднего арифметического значений (все отдельно, можно через процедуры) ну и вывод их на экран соответственно.
Заранее спасибо!
0
|
||||||
| 03.04.2017, 20:42 | |
|
Ответы с готовыми решениями:
13
Написать функцию которая выполняет над нулевыми действительными числами одну из арифметических операций Выполнение арифметических операций над числами Реализация арифметических операций над вещественными числами |
|
Модератор
|
||||||
| 03.04.2017, 22:21 | ||||||
|
Для работы со знаковыми - слишком много переделывать. Я бы выбросил этот код и вставил процедуры из закреплённой темы Ввод и вывод чисел в различных системах счисления.
0
|
||||||
|
0 / 0 / 0
Регистрация: 03.04.2017
Сообщений: 6
|
|
| 04.04.2017, 07:20 [ТС] | |
|
Добавлено через 1 час 46 минут
ФедосеевПавел Ну, согласен, этот код достаточно громоздкий. А как можно переделать по-проще? Нашёл по ссылке только вывод знакового числа, он норм, а вот ввод какой-то большой прям. По-идее процедуры можно взять те, которые Вы оставили (для нахождения максимального, минимального и среднего).
0
|
|
|
Модератор
|
||||||
| 04.04.2017, 09:44 | ||||||
|
А какая разница в размере - код-то уже есть, заново его делать не требуется.
Тем более, в закреплённой теме два варианта - один чуть проще, другой чуть сложнее. Основная разница в обработке ситуации ввода числа +32768 и в сохранении контекста (регистров). Можно сократить сохранение и восстановление регистров, заменив несколько команд на pusha и popa, но после слова .code придётся в новой строке добавить директиву .386.Просто не все студенты знают о такой возможности и чтобы было меньше вопросов новые команды не использовались. Добавлено через 1 час 57 минут Так будет со знаковыми числами
0
|
||||||
|
0 / 0 / 0
Регистрация: 03.04.2017
Сообщений: 6
|
|
| 04.04.2017, 22:42 [ТС] | |
|
ФедосеевПавел, попробовал запустить через dosbox - выдаёт вот это, всё выводится с мусором
0
|
|
|
Модератор
|
|
| 04.04.2017, 22:57 | |
|
Не знаю.
Делаю com файл. Запускаю. Вижу. Всё.
0
|
|
|
Модератор
|
|
| 06.04.2017, 23:14 | |
|
Я намекнул ТС, что запускаю com программу. Ожидал какой-нибудь реакции. Но ТС пропал.
0
|
|
|
0 / 0 / 0
Регистрация: 03.04.2017
Сообщений: 6
|
|
| 11.04.2017, 09:47 [ТС] | |
|
ФедосеевПавел, создал com, всё работает, огромное спасибо! Но есть пару проблем: экран не всегда очищается, возможно, в коде что-то упущена (может вызов процедуры "затирания" экрана; в некоторых местах нет комментариев, не могу понять как это работает и для чего
(особенно где ввод двух чисел). Если не трудно - подсобите, пожалуйста
0
|
|
|
Модератор
|
|
| 12.04.2017, 00:23 | |
|
Я лишь подогнал программу под текущую задачу, а не переделывал её сколько-нибудь кардинально. Поэтому ошибка просто осталась от автора.
Чтобы мне не гадать, приведите тестовый набор действий, где гарантированно будет воспроизведена ошибка.
0
|
|
|
0 / 0 / 0
Регистрация: 03.04.2017
Сообщений: 6
|
|
| 12.04.2017, 09:17 [ТС] | |
|
ФедосеевПавел, ФедосеевПавел, с затиранием я думаю разберусь, там просто не везде процедура вызывается скорее всего. А вот с комментами сложнее: в процедуре EnterAB вообще не пойму что да как
0
|
|
|
Модератор
|
||||||
| 13.04.2017, 00:27 | ||||||
|
;ввод двух чисел для дальнейших вычислений
;на входе: ; - ;на выходе: ;ax - число A ;bx - число B
Добавлено через 49 секунд -------------------- Всё. Я не верю, что вы учитесь, а сдать сможете и так.
0
|
||||||
|
0 / 0 / 0
Регистрация: 03.04.2017
Сообщений: 6
|
|
| 13.04.2017, 05:33 [ТС] | |
|
ФедосеевПавел, Спасибо! Я учусь, просто чувствую что асм - не моё, не тянет, поэтому не вливаюсь в него с головой (больше интересны языки высокого уровня), а сдавать курсач нужно. Плюс ещё учиться довольно сложно, так как дают много материала и заданий на короткий срок времени.
![]() -------------------------------------- Доброго времени суток. Извиняюсь за беспокойство, хотел ещё кое-что спросить по коду. Когда я вычисляю максимальное или минимальное значение, при отрицательном b у меня не срабатывает очистка экрана, так же и в некоторых других случаях (в том числе и с нахождением среднего арифметического). Иногда, если нажать не ту клавишу, что нужно, программа или зависает или вылетает. Компилирую через obj как парень советовал, так как x64. Помогите, пожалуйста. Спасибо.
0
|
|
|
Модератор
|
||||||
| 19.04.2017, 10:48 | ||||||
|
Ну, что вам сказать? Не жмите что попало. Это учебная программа с минимальной обработкой ошибок. Хотите полную защиту - никто не запрещает мечтать и реализовывать.
Не по теме: За 2 недели многое можно успеть. Я в школе изучил BASIC за 7 дней - это был первое знакомство с компьютерами, далее в течение следующих 2-х недель освоил ещё два диалекта на других компьютерах. Ассемблеры для нескольких процессоров учил в ВУЗе совсем без компьютеров, только по книгам. На x86 ушло около месяца. Учась в ВУЗе ещё и работал и шабашил и по гулькам гулял и пьяным валялся и на моря ездил. Времени хватало. Что-то исправил, и на этом мой интерес к подобным исправлениям угасает.
0
|
||||||
| 19.04.2017, 10:48 | |
|
Помогаю со студенческими работами здесь
14
Выполнение базовых арифметических операций над числами
Определить процедуры работы арифметических операций над комплексными числами
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|