С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
 Аватар для vikusechk
1 / 1 / 0
Регистрация: 16.03.2014
Сообщений: 107

Сложение 32-х разрядных чисел на 16 разрядных регистрах

28.10.2014, 16:17. Показов 4861. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Нужно написать программу для сложение двух чисел: одно 16разрядное, другое 32разрядное. При этом нельзя использовать регистры EAX и т.д... А только AX, BX, CX, DX. Я совсем не понимаю, как это можно реализовать. Поместить старшие и младшие разряды отдельно?
ну и вот моя, какая-никакая попытка

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
org 0100h
MODEL TINY
STACK 256
CODESEG
start:
x dw 1194h
star dw 545h
mlad dw 6584h
mov ax,star
mov bx,mlad
mov cx,x
add bx,cx
RET
end start
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.10.2014, 16:17
Ответы с готовыми решениями:

Деление 32 разрядных чисел с использованием 16 разрядных регистров
Здравствуйте. Когда у нас одно из чисел 32 разрядное, то мы выполняем деление записывая 32 разр. число в два регистра младш. часть в...

Умножение двух 16-ти разрядных чисел
Здравствуйте . Помогите , пожалуйста, понять , как умножаются числа в ассемблере. Читал , что если ax* на 16-ти разрядное число , то...

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

3
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
28.10.2014, 16:36
Ещё
Assembler
1
adc ax, 0
чтобы возможный перенос учесть. И данные надо бы после кода размещать или jmp через них делать.
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16371 / 7683 / 1080
Регистрация: 11.11.2010
Сообщений: 13,757
28.10.2014, 16:41
vikusechk,
я правильно понимаю, что к 5456584h нужно прибавить 1194h?
Assembler
1
2
3
4
5
6
mov ax,0
mov bx,[mlad]
add bx,[x]; bx=7718h
adc ax,[star]; ax=545h
mov [result],bx
mov [result+2],ax; [result]=5457718h
1
 Аватар для vikusechk
1 / 1 / 0
Регистрация: 16.03.2014
Сообщений: 107
28.10.2014, 18:24  [ТС]
Спасибо большое! скажите, а как можно просмотреть значение переменной result или занести это значение в регистры?

Добавлено через 50 минут
Цитата Сообщение от Mikl___ Посмотреть сообщение
я правильно понимаю, что к 5456584h нужно прибавить 1194h?
Код ASM
1
2
3
4
5
6
mov ax,0
mov bx,[mlad]
add bx,[x]; bx=7718h
adc ax,[star]; ax=545h
mov [result],bx
mov [result+2],ax; [result]=5457718h
Вот, я исправила код, мне нужно чтобы результаты записывались в рег AX и BX, но у меня почему-то туда заносятся 0ACD (AX) и A100 (BX)

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
org 0100h
MODEL TINY
STACK 256
CODESEG
start:
x dw 1194h
star dw 545h
mlad dw 6584h
result dw ?
mov ax,0
mov bx,[mlad]
add bx,[x]; bx=7718h
adc ax,[star]; ax=545h
mov [result],bx
mov [result+2],ax; [result]=5457718h
mov ax, word ptr [result];
mov bx, word ptr [result+2];
 
RET
end start
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.10.2014, 18:24
Помогаю со студенческими работами здесь

Написать программу сложения двух 32-разрядных двоичных чисел
День добрый, подскажите почему не могу посмотреть конечный результат(окно закрывается) и почему в конце работы программы выдает...

Умножение двух 32-разрядных беззнаковых целых чисел (нужна проверка решения)
Добрый вечер, прошел тему битовых сдвигов, прошу оценить мою реализацию умножения двух 32-разрядных беззнаковых целых чисел. Может есть...

По приведенному алгоритму произвести сложение двух 16 разрядных чисел с получением 32 разрядного результата
Задача №1 По приведенному алгоритму произвести сложение двух 16 разрядных чисел с получением 32 разрядного результата 1. Очистить...

Вычитание двух 32-разрядных двоичных чисел
Добрый день! Понимаю, что задача простейшая, но все же вызывает затруднения. Мне надо написать программу вычитания двух 32-разрядных...

Умножение 16 разрядных чисел с получением 32 разрядного результата
Доброго времени суток, требуется написать программу - по алгоритму умножения двоичных чисел в столбик, произвести умножение двух 16...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД 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/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru