|
2 / 2 / 2
Регистрация: 10.04.2018
Сообщений: 36
|
||||||
NASM Сложение длинных чисел03.06.2019, 21:04. Показов 6775. Ответов 11
Метки нет (Все метки)
Нужно сложить два больших числа. Большое число это 512 разрядов. Сложение происходит с помощью 64-х разрядные арифметические инструкции ADD и ADC. Т.е. как я понимаю это число надо разбить на восемь 64-х разрядных чисел. Лично я представляю себе сложение вот так:
Вопрос в следующем - Как реализовать собственно сами эти массивы и инициализацию чисел в них? Крайне желательно было бы увидеть код. Заранее спасибо.
0
|
||||||
| 03.06.2019, 21:04 | |
|
Ответы с готовыми решениями:
11
Сложение "длинных" чисел (Ассемблерная вставка в g++ на линуксе) Произведение длинных чисел Умножение длинных чисел (512) |
|
Модератор
|
|||||||||||
| 03.06.2019, 21:14 | |||||||||||
|
Об объявлении массивов в конкретном компиляторе нужно смотреть в описании компилятора.
Что-то вроде
rep stosqЕсли не нулями - нужно "огород городить" и придумывать формат длинных чисел - это или бинарный или каждое слово ограничено 1000 (т.е. подобие BCD). Просто объявить массив
1
|
|||||||||||
|
2 / 2 / 2
Регистрация: 10.04.2018
Сообщений: 36
|
|
| 03.06.2019, 21:19 [ТС] | |
|
Спасибо, Павел.
А как вы сами считаете, может есть какой то другой вариант инициализации, без массива? Вариант в котором не надо, как вы выразились "городить огород". Массив просто сразу пришел мне в голову, вот я его и упомянул.
0
|
|
|
Модератор
|
||||||
| 03.06.2019, 21:25 | ||||||
|
Это к преподавателю - он принимает.
Вы сделайте хоть на C/C++ реализацию длинных чисел. Например для решения "знаменитой" задачки №11 "Зайчик" на acmp. Тогда и поймёте, зачем нужен формат "длинных чисел". А так - объявите массив
1
|
||||||
|
2 / 2 / 2
Регистрация: 10.04.2018
Сообщений: 36
|
||||||
| 04.06.2019, 21:42 [ТС] | ||||||
|
Написал вот такой код. Решил сначала проверить сам факт сложения, без вывода. Не работает.
0
|
||||||
|
Модератор
|
|||||||||||
| 05.06.2019, 05:46 | |||||||||||
Сообщение было отмечено чудач как решение
Решение
Отсутствует код завершения программы и передачи управления операционной системе
dqСобрал в SASM с макросами вывода (они там неудачные - без вывода лидирующих нулей)
Хотя, ваше решение непривычное - я бы делал при помощи циклов, а не макросов.
1
|
|||||||||||
|
2 / 2 / 2
Регистрация: 10.04.2018
Сообщений: 36
|
||||
| 05.06.2019, 13:52 [ТС] | ||||
|
Спасибо за замечания
upd. Скорее всего там определены два макроса PRING_HEX и PRINT_CHAR. Верно?
0
|
||||
|
2 / 2 / 2
Регистрация: 10.04.2018
Сообщений: 36
|
|||||||||||
| 05.06.2019, 15:34 [ТС] | |||||||||||
|
Составил вот такую программку, тут нет NEWLINE (убрал для упрощения поиска ошибок).
Бью голову и не могу понять в чем я не прав. Почти на 100% уверен что ошибка в макрсое вывода, не могу понять где.
0
|
|||||||||||
|
2 / 2 / 2
Регистрация: 10.04.2018
Сообщений: 36
|
|
| 05.06.2019, 15:49 [ТС] | |
|
В marco.mac исправил ошибку в 4 строке. Теперь просто выдает ошибку о том что .oncemore переопределён.
0
|
|
|
Модератор
|
|
| 05.06.2019, 22:42 | |
|
Вы для DOS делаете?
Тогда там нет инструкций с 64-разрядными операторами - процессор не поддерживает их в этом режиме. Переделывайте под 16-разрядные регистры.
1
|
|
|
2 / 2 / 2
Регистрация: 10.04.2018
Сообщений: 36
|
|
| 07.06.2019, 20:13 [ТС] | |
|
С этим заданием разобрался, спасибо за помощь. Теперь вот весит второй день вопрос об умножении, результат у меня не сходится. Но это уже совсем другая история)
0
|
|
|
Модератор
|
|
| 08.06.2019, 16:17 | |
|
Вот и хорошо, что разобрались.
А так, одна тема - один вопрос.
0
|
|
| 08.06.2019, 16:17 | |
|
Помогаю со студенческими работами здесь
12
Сложение длинных чисел Сложение длинных чисел Сложение длинных чисел Сложение длинных чисел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
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
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|